{"id":64330,"name":"tar, @angular-devkit/build-angular","ecosystem":"npm","repository_url":null,"issues_count":510,"created_at":"2025-08-28T15:13:38.185Z","updated_at":"2025-08-28T15:13:38.185Z","purl":"pkg:npm/tar, @angular-devkit/build-angular","unique_repositories_count":413,"unique_repositories_count_past_30_days":5,"recent_issues":[{"uuid":"4290800844","node_id":"PR_kwDORFfc-s7TtcX_","number":7,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-19T12:22:36.000Z","updated_at":"2026-04-19T12:24:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.0.3","new_version":"21.2.7"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.0.3 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.3...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.0.3 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.3...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pereiraferreirarafael/Memoteca_ANGULAR/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/pereiraferreirarafael/Memoteca_ANGULAR/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pereiraferreirarafael%2FMemoteca_ANGULAR/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4283872109","node_id":"PR_kwDOR-7HqM7TYFZh","number":16,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /angular official project forms","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T12:06:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T16:04:47.000Z","updated_at":"2026-04-20T12:06:47.000Z","time_to_close":244918,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.11","new_version":"21.2.7"}],"path":"/angular official project forms","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.11 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.11...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.11 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.11...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/imadbenmadi/learn-angular/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/imadbenmadi/learn-angular/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/imadbenmadi%2Flearn-angular/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"},{"uuid":"4196674208","node_id":"PR_kwDOG1bWn87PqFvS","number":7,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T19:57:00.000Z","updated_at":"2026-04-02T19:57:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.4","new_version":"21.2.6"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.4 to 21.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.6 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003eea14f28cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e9136eb376\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e8186faa11\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e107d1a9e2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003eb7f457253\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9a2ee5190bd2fa1cecea23028c49cadf09d90840\"\u003e\u003ccode\u003e9a2ee51\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7bfe34786887c26a49808d6cc105aca45fe522d0\"\u003e\u003ccode\u003e7bfe347\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): extract headless configuration logic into helper fu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003ccode\u003eb7f4572\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope CHROME_BIN executable path to individual playwrigh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8f954e31c9bae01ceb28f6dcfe03cb94cfbfd311\"\u003e\u003ccode\u003e8f954e3\u003c/code\u003e\u003c/a\u003e build: safeguard terminal styling in devkit admin script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/57e956ce3b00111f9fcb8d05799e2cd8e2f37a6f\"\u003e\u003ccode\u003e57e956c\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/750c461a2ba448ebf449ef3b5d0222e3298a70e6\"\u003e\u003ccode\u003e750c461\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003ccode\u003eea14f28\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): fix sourceRoot resolution for MCP projects tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003ccode\u003e9136eb3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure transitive SCSS partial errors are tracked in wat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003ccode\u003e107d1a9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve error stack traces during prerendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003ccode\u003e8186faa\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure Vitest mock patching is executed only once\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.4 to 21.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.6 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003eea14f28cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e9136eb376\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e8186faa11\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e107d1a9e2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003eb7f457253\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9a2ee5190bd2fa1cecea23028c49cadf09d90840\"\u003e\u003ccode\u003e9a2ee51\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7bfe34786887c26a49808d6cc105aca45fe522d0\"\u003e\u003ccode\u003e7bfe347\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): extract headless configuration logic into helper fu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003ccode\u003eb7f4572\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope CHROME_BIN executable path to individual playwrigh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8f954e31c9bae01ceb28f6dcfe03cb94cfbfd311\"\u003e\u003ccode\u003e8f954e3\u003c/code\u003e\u003c/a\u003e build: safeguard terminal styling in devkit admin script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/57e956ce3b00111f9fcb8d05799e2cd8e2f37a6f\"\u003e\u003ccode\u003e57e956c\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/750c461a2ba448ebf449ef3b5d0222e3298a70e6\"\u003e\u003ccode\u003e750c461\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003ccode\u003eea14f28\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): fix sourceRoot resolution for MCP projects tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003ccode\u003e9136eb3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure transitive SCSS partial errors are tracked in wat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003ccode\u003e107d1a9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve error stack traces during prerendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003ccode\u003e8186faa\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure Vitest mock patching is executed only once\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/AsareelDadiouari/projet-energie-front-end/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/AsareelDadiouari/projet-energie-front-end/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsareelDadiouari%2Fprojet-energie-front-end/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"4184644668","node_id":"PR_kwDODfEHLc7PKc8i","number":42,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T07:29:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-01T07:01:11.000Z","updated_at":"2026-04-01T07:29:19.000Z","time_to_close":1685,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"8.3.29","new_version":"21.2.5"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.803.29 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 8.3.29 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v8.3.29...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Chuck55/PokemonWebsiteAngular/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Chuck55/PokemonWebsiteAngular/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chuck55%2FPokemonWebsiteAngular/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"},{"uuid":"4163306172","node_id":"PR_kwDODsukG87OW5yg","number":54,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-29T08:18:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-29T08:13:26.000Z","updated_at":"2026-03-29T08:18:42.000Z","time_to_close":314,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.0.5","new_version":"21.2.5"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.5 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.5...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.0.5 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.0.5...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/KarlDegen/angular-table-inline-editing-with-drag-and-drop/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/KarlDegen/angular-table-inline-editing-with-drag-and-drop/pull/54","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarlDegen%2Fangular-table-inline-editing-with-drag-and-drop/issues/54","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/54/packages"},{"uuid":"4056618712","node_id":"PR_kwDOBxIn1M7JoHp1","number":7350,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /tests/examples/source/angular","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T08:10:42.000Z","updated_at":"2026-03-11T08:11:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.0.5","new_version":"21.2.1"}],"path":"/tests/examples/source/angular","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.0.5 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.5...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.0.5 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.5...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/redhat-developer/odo/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/redhat-developer/odo/pull/7350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fodo/issues/7350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7350/packages"},{"uuid":"4055825589","node_id":"PR_kwDORQe2lc7Jlj2X","number":9,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /pfeFinal-master","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T04:59:39.000Z","updated_at":"2026-03-11T05:00:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.3.11","new_version":"21.2.1"}],"path":"/pfeFinal-master","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.3.11 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.3.11...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.3.11 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.3.11...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/saidabnrhm/PFE-DevSecOps-final/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/saidabnrhm/PFE-DevSecOps-final/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidabnrhm%2FPFE-DevSecOps-final/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4054901668","node_id":"PR_kwDOKv3eNs7JirGd","number":974,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /test/angular-14","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T00:11:53.000Z","updated_at":"2026-03-11T00:12:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.2.13","new_version":"21.2.1"}],"path":"/test/angular-14","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.2.13 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.2.13...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.2.13 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.2.13...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Orange-OpenSource/ods-charts/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Orange-OpenSource/ods-charts/pull/974","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orange-OpenSource%2Fods-charts/issues/974","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/974/packages"},{"uuid":"4039166646","node_id":"PR_kwDOGop5Ys7IwJMx","number":26,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /quizzler","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-07T19:20:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T18:46:45.000Z","updated_at":"2026-03-07T19:20:45.000Z","time_to_close":2038,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.2","new_version":"21.2.1"}],"path":"/quizzler","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.2 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.2...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.2 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.2...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/theokoles7/quizzler/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/theokoles7/quizzler/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theokoles7%2Fquizzler/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4031988364","node_id":"PR_kwDOE8yjk87IYz8P","number":27,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /angular-src","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:57:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T03:23:08.000Z","updated_at":"2026-03-11T11:57:58.000Z","time_to_close":462888,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"11.1.0","new_version":"21.2.1"}],"path":"/angular-src","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.0 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.0...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1101.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 11.1.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v11.1.0...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/restiolabs/angular-s3-viewer/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/restiolabs/angular-s3-viewer/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/restiolabs%2Fangular-s3-viewer/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"},{"uuid":"4031803573","node_id":"PR_kwDOHi2DKc7IYOUs","number":26,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /reactive-systems/frontend","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:13:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T02:16:59.000Z","updated_at":"2026-03-11T11:13:51.000Z","time_to_close":464210,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.7","new_version":"21.2.1"}],"path":"/reactive-systems/frontend","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/andresmontoyat/tutorials/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/andresmontoyat/tutorials/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresmontoyat%2Ftutorials/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"},{"uuid":"4031768238","node_id":"PR_kwDOEWXHnM7IYG5H","number":11,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:08:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T02:05:57.000Z","updated_at":"2026-03-11T11:08:10.000Z","time_to_close":464531,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"10.1.3","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1001.3 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 10.1.3 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v10.1.3...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/jens3cakes/wagalong/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/jens3cakes/wagalong/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jens3cakes%2Fwagalong/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4031623827","node_id":"PR_kwDOEKNJTM7IXoim","number":22,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T10:57:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T01:26:25.000Z","updated_at":"2026-03-11T10:57:18.000Z","time_to_close":466251,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.7","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/amacarlupu/Lista-deseos-IONIC4/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/amacarlupu/Lista-deseos-IONIC4/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amacarlupu%2FLista-deseos-IONIC4/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"},{"uuid":"4031549785","node_id":"PR_kwDOEB-_1M7IXZbU","number":32,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T10:51:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T01:02:12.000Z","updated_at":"2026-03-11T10:51:27.000Z","time_to_close":467355,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.10","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.10 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.10 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.10...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pramodpatane/Health-Tap/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/pramodpatane/Health-Tap/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pramodpatane%2FHealth-Tap/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"},{"uuid":"4028107936","node_id":"PR_kwDOFMl-Y87IMbOc","number":87,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /faculdadeADS/PraticaIntegradoraDesenvolvimentoApps/angular/primeiro-projeto","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-05T13:27:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T13:04:56.000Z","updated_at":"2026-03-05T13:27:49.000Z","time_to_close":1364,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.7","new_version":"21.2.1"}],"path":"/faculdadeADS/PraticaIntegradoraDesenvolvimentoApps/angular/primeiro-projeto","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/camilagerarde/Estudos/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/camilagerarde/Estudos/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilagerarde%2FEstudos/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"},{"uuid":"4027669996","node_id":"PR_kwDOBxIn1M7IK-S5","number":7348,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /ui","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T11:34:49.000Z","updated_at":"2026-03-05T11:35:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.2","new_version":"21.2.0"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.2 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.2...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.2 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.2...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/redhat-developer/odo/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/redhat-developer/odo/pull/7348","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fodo/issues/7348","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7348/packages"},{"uuid":"4027574547","node_id":"PR_kwDORN2qMs7IKp0P","number":10,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T09:15:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T11:13:27.000Z","updated_at":"2026-03-11T09:15:51.000Z","time_to_close":511342,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"12.2.7","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 12.2.7 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.7...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 12.2.7 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.7...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/anasazy/nlsn-angular-deep-dive/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/anasazy/nlsn-angular-deep-dive/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasazy%2Fnlsn-angular-deep-dive/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4027505805","node_id":"PR_kwDOGf40687IKbDP","number":24,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T10:59:49.000Z","updated_at":"2026-03-05T11:00:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"12.2.14","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 12.2.14 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.14...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 12.2.14 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.14...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/aidenappl/hillviewTVLive/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/aidenappl/hillviewTVLive/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidenappl%2FhillviewTVLive/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"},{"uuid":"4027499598","node_id":"PR_kwDOH-RqPM7IKZw9","number":9,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /frontend/health-e","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T08:37:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T10:58:27.000Z","updated_at":"2026-03-11T08:37:59.000Z","time_to_close":509970,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.4","new_version":"21.2.0"}],"path":"/frontend/health-e","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Shashwat3012/Health-E/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Shashwat3012/Health-E/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shashwat3012%2FHealth-E/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4027484911","node_id":"PR_kwDOChpfdM7IKWn-","number":52,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T09:22:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T10:55:31.000Z","updated_at":"2026-03-11T09:22:50.000Z","time_to_close":512837,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"10.0.4","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1000.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 10.0.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v10.0.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Quezako/kanji-front/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Quezako/kanji-front/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quezako%2Fkanji-front/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}],"issue_packages":[{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-04-19T12:22:36.000Z","version_change":null,"issue":{"uuid":"4290800844","node_id":"PR_kwDORFfc-s7TtcX_","number":7,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-19T12:22:36.000Z","updated_at":"2026-04-19T12:24:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.0.3","new_version":"21.2.7"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.0.3 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.3...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.0.3 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.3...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pereiraferreirarafael/Memoteca_ANGULAR/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/pereiraferreirarafael/Memoteca_ANGULAR/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pereiraferreirarafael%2FMemoteca_ANGULAR/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/angular official project forms","pr_created_at":"2026-04-17T16:04:47.000Z","version_change":null,"issue":{"uuid":"4283872109","node_id":"PR_kwDOR-7HqM7TYFZh","number":16,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /angular official project forms","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-20T12:06:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-17T16:04:47.000Z","updated_at":"2026-04-20T12:06:47.000Z","time_to_close":244918,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.11","new_version":"21.2.7"}],"path":"/angular official project forms","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.11 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.11...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.11 to 21.2.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.7\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003cimg src=\"https://img.shields.io/badge/971041aa1-fix-green\" alt=\"fix - 971041aa1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003cimg src=\"https://img.shields.io/badge/365cce81d-fix-green\" alt=\"fix - 365cce81d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003cimg src=\"https://img.shields.io/badge/9f74660c3-fix-green\" alt=\"fix - 9f74660c3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.7 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e971041aa1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ehandle missing package manager during analytics initialization\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e365cce81d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve coverage ignore comments in development\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e9f74660c3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eshow clear error when styleUrl points to a TypeScript file\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.23 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ccab02ba0413f25464a6e4cb5871716b221013b7\"\u003eccab02ba0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e7.3.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.24 (2026-04-08)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f4595d599001713ae978865d7f84e33e5a9a077a\"\u003ef4595d599\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate vite to \u003ccode\u003e6.4.2\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e22.0.0-next.4 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87d99e98b178c8f7d5e944a346faf70c51bdfcef\"\u003e87d99e98b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/22a108e8b5527b7cece6ece03eb7c817b69f4844\"\u003e\u003ccode\u003e22a108e\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9f74660c3688bb1f0d6a7608a136a30dbfe4d7e9\"\u003e\u003ccode\u003e9f74660\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): show clear error when styleUrl points to a TypeScript file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/625c5cb040c37846e837f2ea739e957c013fc521\"\u003e\u003ccode\u003e625c5cb\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/44783cc72372d13b4b67434fd8ba179aabda31b5\"\u003e\u003ccode\u003e44783cc\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e15b22dbd0b5425d25924f34c93d728a360b1fe3\"\u003e\u003ccode\u003ee15b22d\u003c/code\u003e\u003c/a\u003e docs: add spam policy and saved reply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dcb36fd5201fd3e178cd9ce8ece192b3ae22e8c3\"\u003e\u003ccode\u003edcb36fd\u003c/code\u003e\u003c/a\u003e build: update dependency vite to v7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1605c6f870b01fea5f9248a25c1385a8bcb5843\"\u003e\u003ccode\u003ed1605c6\u003c/code\u003e\u003c/a\u003e test(\u003ccode\u003e@​angular/build\u003c/code\u003e): verify coverage ignore comments are preserved during co...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/365cce81dde91463d4f0049a69feaed018902585\"\u003e\u003ccode\u003e365cce8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve coverage ignore comments in development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7a2777447c30cb6b9d94224632b4e460ac160d0a\"\u003e\u003ccode\u003e7a27774\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/971041aa11e4546772e4677b77ceec2ad1374496\"\u003e\u003ccode\u003e971041a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): handle missing package manager during analytics initializa...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.11...v21.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/imadbenmadi/learn-angular/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/imadbenmadi/learn-angular/pull/16","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/imadbenmadi%2Flearn-angular/issues/16","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/16/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-04-02T19:57:00.000Z","version_change":null,"issue":{"uuid":"4196674208","node_id":"PR_kwDOG1bWn87PqFvS","number":7,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-02T19:57:00.000Z","updated_at":"2026-04-02T19:57:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.4","new_version":"21.2.6"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.4 to 21.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.6 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003eea14f28cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e9136eb376\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e8186faa11\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e107d1a9e2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003eb7f457253\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9a2ee5190bd2fa1cecea23028c49cadf09d90840\"\u003e\u003ccode\u003e9a2ee51\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7bfe34786887c26a49808d6cc105aca45fe522d0\"\u003e\u003ccode\u003e7bfe347\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): extract headless configuration logic into helper fu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003ccode\u003eb7f4572\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope CHROME_BIN executable path to individual playwrigh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8f954e31c9bae01ceb28f6dcfe03cb94cfbfd311\"\u003e\u003ccode\u003e8f954e3\u003c/code\u003e\u003c/a\u003e build: safeguard terminal styling in devkit admin script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/57e956ce3b00111f9fcb8d05799e2cd8e2f37a6f\"\u003e\u003ccode\u003e57e956c\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/750c461a2ba448ebf449ef3b5d0222e3298a70e6\"\u003e\u003ccode\u003e750c461\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003ccode\u003eea14f28\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): fix sourceRoot resolution for MCP projects tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003ccode\u003e9136eb3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure transitive SCSS partial errors are tracked in wat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003ccode\u003e107d1a9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve error stack traces during prerendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003ccode\u003e8186faa\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure Vitest mock patching is executed only once\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.4 to 21.2.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.6\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003cimg src=\"https://img.shields.io/badge/ea14f28cc-fix-green\" alt=\"fix - ea14f28cc\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003cimg src=\"https://img.shields.io/badge/9136eb376-fix-green\" alt=\"fix - 9136eb376\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003cimg src=\"https://img.shields.io/badge/8186faa11-fix-green\" alt=\"fix - 8186faa11\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003cimg src=\"https://img.shields.io/badge/107d1a9e2-fix-green\" alt=\"fix - 107d1a9e2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003cimg src=\"https://img.shields.io/badge/b7f457253-fix-green\" alt=\"fix - b7f457253\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.6 (2026-04-01)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003eea14f28cc\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003efix sourceRoot resolution for MCP projects tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e9136eb376\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure transitive SCSS partial errors are tracked in watch mode\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e8186faa11\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure Vitest mock patching is executed only once\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e107d1a9e2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epreserve error stack traces during prerendering\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003eb7f457253\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003escope CHROME_BIN executable path to individual playwright instances\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9a2ee5190bd2fa1cecea23028c49cadf09d90840\"\u003e\u003ccode\u003e9a2ee51\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7bfe34786887c26a49808d6cc105aca45fe522d0\"\u003e\u003ccode\u003e7bfe347\u003c/code\u003e\u003c/a\u003e refactor(\u003ccode\u003e@​angular/build\u003c/code\u003e): extract headless configuration logic into helper fu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b7f4572533675729e87532bdc23509feb2f3a28d\"\u003e\u003ccode\u003eb7f4572\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): scope CHROME_BIN executable path to individual playwrigh...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8f954e31c9bae01ceb28f6dcfe03cb94cfbfd311\"\u003e\u003ccode\u003e8f954e3\u003c/code\u003e\u003c/a\u003e build: safeguard terminal styling in devkit admin script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/57e956ce3b00111f9fcb8d05799e2cd8e2f37a6f\"\u003e\u003ccode\u003e57e956c\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/750c461a2ba448ebf449ef3b5d0222e3298a70e6\"\u003e\u003ccode\u003e750c461\u003c/code\u003e\u003c/a\u003e build: update pnpm to v10.33.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ea14f28ccfc6e5534eaef516bf1bfbe21582da04\"\u003e\u003ccode\u003eea14f28\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): fix sourceRoot resolution for MCP projects tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9136eb37630d6315891b3c881cd0ba4037c3254c\"\u003e\u003ccode\u003e9136eb3\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure transitive SCSS partial errors are tracked in wat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/107d1a9e26fc59c7878254e563758818866f0f6e\"\u003e\u003ccode\u003e107d1a9\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): preserve error stack traces during prerendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8186faa117803ffb6ac8e2c4cd6ab7873502308d\"\u003e\u003ccode\u003e8186faa\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): ensure Vitest mock patching is executed only once\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/AsareelDadiouari/projet-energie-front-end/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/AsareelDadiouari/projet-energie-front-end/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AsareelDadiouari%2Fprojet-energie-front-end/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-04-01T07:01:11.000Z","version_change":null,"issue":{"uuid":"4184644668","node_id":"PR_kwDODfEHLc7PKc8i","number":42,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T07:29:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-01T07:01:11.000Z","updated_at":"2026-04-01T07:29:19.000Z","time_to_close":1685,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"8.3.29","new_version":"21.2.5"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.803.29 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 8.3.29 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v8.3.29...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Chuck55/PokemonWebsiteAngular/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Chuck55/PokemonWebsiteAngular/pull/42","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chuck55%2FPokemonWebsiteAngular/issues/42","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/42/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-29T08:13:26.000Z","version_change":null,"issue":{"uuid":"4163306172","node_id":"PR_kwDODsukG87OW5yg","number":54,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-29T08:18:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-29T08:13:26.000Z","updated_at":"2026-03-29T08:18:42.000Z","time_to_close":314,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.0.5","new_version":"21.2.5"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.13 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.13\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d6611ae951056addb77c6e11baf7bcc9d7648e46\"\u003e\u003ccode\u003ed6611ae\u003c/code\u003e\u003c/a\u003e 7.5.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/119c401f4f7efbeb112d28f9dfc9c489674c9a79\"\u003e\u003ccode\u003e119c401\u003c/code\u003e\u003c/a\u003e fix(extract): prevent raced symlink writes outside cwd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2a294d3fbb24c18dc80f31059f49dd9af15653fe\"\u003e\u003ccode\u003e2a294d3\u003c/code\u003e\u003c/a\u003e 7.5.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/01082a42c3256ca6054f9627911cce4dbfe00d92\"\u003e\u003ccode\u003e01082a4\u003c/code\u003e\u003c/a\u003e fix: reject top promise on floating addFilesAsync rejections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/dd1c36ab7acff26e5a34935d17f27a45bb088db3\"\u003e\u003ccode\u003edd1c36a\u003c/code\u003e\u003c/a\u003e linting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/35a1ffe73eb4aa05cd2613f8fdcfb4c9c9ed59f9\"\u003e\u003ccode\u003e35a1ffe\u003c/code\u003e\u003c/a\u003e doc: more clarity in security warning\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.13\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.5 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.5...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.0.5 to 21.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.5\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003cimg src=\"https://img.shields.io/badge/cadf9b201-feat-blue\" alt=\"feat - cadf9b201\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003cimg src=\"https://img.shields.io/badge/bbc255419-fix-green\" alt=\"fix - bbc255419\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003cimg src=\"https://img.shields.io/badge/b1fe66a7f-fix-green\" alt=\"fix - b1fe66a7f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.4\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a7787d0925559fe7731034856a872708bcfb78be\"\u003e\u003cimg src=\"https://img.shields.io/badge/a7787d092-fix-green\" alt=\"fix - a7787d092\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erestore console methods after logger completes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/7170599ab237691d9208c410363ef7e4ee50db2c\"\u003e\u003cimg src=\"https://img.shields.io/badge/7170599ab-fix-green\" alt=\"fix - 7170599ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ededuplicate and merge coverage excludes with vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c73f13797afe57fcc98faf6361085e1dd5afae9b\"\u003e\u003cimg src=\"https://img.shields.io/badge/c73f13797-fix-green\" alt=\"fix - c73f13797\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent reporter duplicates by explicitly overriding Vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/956ccaa71ea8a3626e4139cf7e2f26ee637feeed\"\u003e\u003cimg src=\"https://img.shields.io/badge/956ccaa71-fix-green\" alt=\"fix - 956ccaa71\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eremove default for unit-test coverage option\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36978db7e494e4e5612aa2a8384199eeca7c4c2d\"\u003e\u003cimg src=\"https://img.shields.io/badge/36978db7e-fix-green\" alt=\"fix - 36978db7e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn about performance of test.exclude in vitest configuration\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ec36f5bee05d97c10ca8d91d5746621ffb1fdb9\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ec36f5be-fix-green\" alt=\"fix - 6ec36f5be\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ewarn when vitest watch config conflicts with builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/9bdf782c838ab5820ec905d689a62ffc3b3cabe3\"\u003e\u003cimg src=\"https://img.shields.io/badge/9bdf782c8-fix-green\" alt=\"fix - 9bdf782c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eapply forwarded prefix and vary header in accept-language redirects\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/628c586728748e1c367fa7e363299eb79b1566ca\"\u003e\u003cimg src=\"https://img.shields.io/badge/628c58672-fix-green\" alt=\"fix - 628c58672\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport '*' in allowedHosts and warn about security risks\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.3\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1505164bb2703254a2b25a76c7b3a1ff2fd76a85\"\u003e\u003cimg src=\"https://img.shields.io/badge/1505164bb-fix-green\" alt=\"fix - 1505164bb\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003euse parsed package name for migrate-only updates\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/75fa94cad26b0947e687ef94d50653cb7651d18c\"\u003e\u003cimg src=\"https://img.shields.io/badge/75fa94cad-fix-green\" alt=\"fix - 75fa94cad\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ealias createRequire banner import to avoid duplicate binding\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d009aa1ec7411b67b61b81003eb6181cde6f306f\"\u003e\u003cimg src=\"https://img.shields.io/badge/d009aa1ec-fix-green\" alt=\"fix - d009aa1ec\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eonly use external packages for polyfills when no local files are present\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f3e0e82c2cecc3d9ebb5b8acc6e64d2d88c4efbd\"\u003e\u003cimg src=\"https://img.shields.io/badge/f3e0e82c2-fix-green\" alt=\"fix - f3e0e82c2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisallow x-forwarded-prefix starting with a backslash\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b8bcd59b40496369a57de0b0b39d85f323af30c7\"\u003e\u003cimg src=\"https://img.shields.io/badge/b8bcd59b4-fix-green\" alt=\"fix - b8bcd59b4\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure unique values in redirect response Vary header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/84385411d4542d60d635aea9063c1fd751deb607\"\u003e\u003cimg src=\"https://img.shields.io/badge/84385411d-fix-green\" alt=\"fix - 84385411d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esupport custom headers in redirect responses\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003e| Commit | Description |\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.5 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003ecadf9b201\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003esupport custom port in MCP devserver start tool\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003ebbc255419\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eallow underscores in host validation\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003eb1fe66a7f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003epatch Headers.forEach in cloneRequestAndPatchHeaders\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.22 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5978eeeff63cd62f1515d949eaad0b5e6f7c44cd\"\u003e5978eeeff\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/core\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6e9b926129a9dd79f01d47b7446411b8963ffb62\"\u003e6e9b92612\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f209c26dc5a454acd1cd76f25240c26978fa827\"\u003e6f209c26d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e19.2.23 (2026-03-27)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/67cfbe32ff013d7c9763253c8ccd383d8ee2416c\"\u003e67cfbe32f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate picomatch to 4.0.4\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/30186122102ebe1e5b31abe6241d03c94d162e39\"\u003e\u003ccode\u003e3018612\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.5 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/349bd4391f41854cdb7b8da5ac18e88465bb4e99\"\u003e\u003ccode\u003e349bd43\u003c/code\u003e\u003c/a\u003e build: update dependency picomatch to v4.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cadf9b201bd1055a6e3cc016eb01e0196b028080\"\u003e\u003ccode\u003ecadf9b2\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003e@​angular/cli\u003c/code\u003e): support custom port in MCP devserver start tool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bbc255419b346e5152391b47f310922f86e9e383\"\u003e\u003ccode\u003ebbc2554\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): allow underscores in host validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/88ac9986ff58d69cca9ae81feea1e35692fa1e84\"\u003e\u003ccode\u003e88ac998\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/022e0efd93dd1b4866305c18c56bbb402090e033\"\u003e\u003ccode\u003e022e0ef\u003c/code\u003e\u003c/a\u003e build: update github/codeql-action action to v4.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c363f19712d8cf06a911780da36457fbd35461d5\"\u003e\u003ccode\u003ec363f19\u003c/code\u003e\u003c/a\u003e build: update dependency node to v22.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/b1fe66a7f8650ce021b4070394bc31848fc64ca5\"\u003e\u003ccode\u003eb1fe66a\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/ssr\u003c/code\u003e): patch Headers.forEach in cloneRequestAndPatchHeaders\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/2aa93fc30918535abe2698bef8984aae57f6c115\"\u003e\u003ccode\u003e2aa93fc\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f33826e3efc7e5d7e9a061dc683111d2f451f7de\"\u003e\u003ccode\u003ef33826e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.0.5...v21.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/KarlDegen/angular-table-inline-editing-with-drag-and-drop/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/KarlDegen/angular-table-inline-editing-with-drag-and-drop/pull/54","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/KarlDegen%2Fangular-table-inline-editing-with-drag-and-drop/issues/54","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/54/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/tests/examples/source/angular","pr_created_at":"2026-03-11T08:10:42.000Z","version_change":null,"issue":{"uuid":"4056618712","node_id":"PR_kwDOBxIn1M7JoHp1","number":7350,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /tests/examples/source/angular","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T08:10:42.000Z","updated_at":"2026-03-11T08:11:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.0.5","new_version":"21.2.1"}],"path":"/tests/examples/source/angular","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.0.5 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.5...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.0.5 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.0.5...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/redhat-developer/odo/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/redhat-developer/odo/pull/7350","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fodo/issues/7350","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7350/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/pfeFinal-master","pr_created_at":"2026-03-11T04:59:39.000Z","version_change":null,"issue":{"uuid":"4055825589","node_id":"PR_kwDORQe2lc7Jlj2X","number":9,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /pfeFinal-master","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T04:59:39.000Z","updated_at":"2026-03-11T05:00:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.3.11","new_version":"21.2.1"}],"path":"/pfeFinal-master","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.3.11 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.3.11...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.3.11 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.3.11...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/saidabnrhm/PFE-DevSecOps-final/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/saidabnrhm/PFE-DevSecOps-final/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/saidabnrhm%2FPFE-DevSecOps-final/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/test/angular-14","pr_created_at":"2026-03-11T00:11:53.000Z","version_change":null,"issue":{"uuid":"4054901668","node_id":"PR_kwDOKv3eNs7JirGd","number":974,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /test/angular-14","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-11T00:11:53.000Z","updated_at":"2026-03-11T00:12:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"14.2.13","new_version":"21.2.1"}],"path":"/test/angular-14","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.11 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.2.1 to 7.5.11\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/bf776f673164215074b62749e0fe80e5834588f4\"\u003e\u003ccode\u003ebf776f6\u003c/code\u003e\u003c/a\u003e 7.5.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f48b5fa3b7985ddab96dc0f2125a4ffc9911b6ad\"\u003e\u003ccode\u003ef48b5fa\u003c/code\u003e\u003c/a\u003e prevent escaping symlinks with drive-relative paths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/97cff15d3539a37a4095eb3d287147d9d77c2dc3\"\u003e\u003ccode\u003e97cff15\u003c/code\u003e\u003c/a\u003e docs: more security info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 14.2.13 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.2.13...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 14.2.13 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/14.2.13...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Orange-OpenSource/ods-charts/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Orange-OpenSource/ods-charts/pull/974","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orange-OpenSource%2Fods-charts/issues/974","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/974/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/quizzler","pr_created_at":"2026-03-07T18:46:45.000Z","version_change":null,"issue":{"uuid":"4039166646","node_id":"PR_kwDOGop5Ys7IwJMx","number":26,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /quizzler","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-07T19:20:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-07T18:46:45.000Z","updated_at":"2026-03-07T19:20:45.000Z","time_to_close":2038,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.2","new_version":"21.2.1"}],"path":"/quizzler","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.2 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.2...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.2 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.2...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/theokoles7/quizzler/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/theokoles7/quizzler/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theokoles7%2Fquizzler/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/angular-src","pr_created_at":"2026-03-06T03:23:08.000Z","version_change":null,"issue":{"uuid":"4031988364","node_id":"PR_kwDOE8yjk87IYz8P","number":27,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /angular-src","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:57:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T03:23:08.000Z","updated_at":"2026-03-11T11:57:58.000Z","time_to_close":462888,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"11.1.0","new_version":"21.2.1"}],"path":"/angular-src","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.0 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.0...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1101.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 11.1.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v11.1.0...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/restiolabs/angular-s3-viewer/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/restiolabs/angular-s3-viewer/pull/27","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/restiolabs%2Fangular-s3-viewer/issues/27","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/27/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/reactive-systems/frontend","pr_created_at":"2026-03-06T02:16:59.000Z","version_change":null,"issue":{"uuid":"4031803573","node_id":"PR_kwDOHi2DKc7IYOUs","number":26,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /reactive-systems/frontend","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:13:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T02:16:59.000Z","updated_at":"2026-03-11T11:13:51.000Z","time_to_close":464210,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.7","new_version":"21.2.1"}],"path":"/reactive-systems/frontend","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/andresmontoyat/tutorials/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/andresmontoyat/tutorials/pull/26","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/andresmontoyat%2Ftutorials/issues/26","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/26/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-06T02:05:57.000Z","version_change":null,"issue":{"uuid":"4031768238","node_id":"PR_kwDOEWXHnM7IYG5H","number":11,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T11:08:08.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T02:05:57.000Z","updated_at":"2026-03-11T11:08:10.000Z","time_to_close":464531,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"10.1.3","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1001.3 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 10.1.3 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v10.1.3...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/jens3cakes/wagalong/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/jens3cakes/wagalong/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jens3cakes%2Fwagalong/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-06T01:26:25.000Z","version_change":null,"issue":{"uuid":"4031623827","node_id":"PR_kwDOEKNJTM7IXoim","number":22,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T10:57:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T01:26:25.000Z","updated_at":"2026-03-11T10:57:18.000Z","time_to_close":466251,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.7","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/amacarlupu/Lista-deseos-IONIC4/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/amacarlupu/Lista-deseos-IONIC4/pull/22","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/amacarlupu%2FLista-deseos-IONIC4/issues/22","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/22/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-06T01:02:12.000Z","version_change":null,"issue":{"uuid":"4031549785","node_id":"PR_kwDOEB-_1M7IXZbU","number":32,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T10:51:27.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-06T01:02:12.000Z","updated_at":"2026-03-11T10:51:27.000Z","time_to_close":467355,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"9.1.10","new_version":"21.2.1"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.901.10 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 9.1.10 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v9.1.10...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pramodpatane/Health-Tap/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/pramodpatane/Health-Tap/pull/32","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pramodpatane%2FHealth-Tap/issues/32","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/32/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/faculdadeADS/PraticaIntegradoraDesenvolvimentoApps/angular/primeiro-projeto","pr_created_at":"2026-03-05T13:04:56.000Z","version_change":null,"issue":{"uuid":"4028107936","node_id":"PR_kwDOFMl-Y87IMbOc","number":87,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /faculdadeADS/PraticaIntegradoraDesenvolvimentoApps/angular/primeiro-projeto","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-05T13:27:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T13:04:56.000Z","updated_at":"2026-03-05T13:27:49.000Z","time_to_close":1364,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.7","new_version":"21.2.1"}],"path":"/faculdadeADS/PraticaIntegradoraDesenvolvimentoApps/angular/primeiro-projeto","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.7 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e\u003cimg src=\"https://img.shields.io/badge/72d466aa0-fix-green\" alt=\"fix - 72d466aa0\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003e\u003cimg src=\"https://img.shields.io/badge/ae4c28d00-fix-green\" alt=\"fix - ae4c28d00\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e\u003cimg src=\"https://img.shields.io/badge/465073bc1-fix-green\" alt=\"fix - 465073bc1\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e\u003cimg src=\"https://img.shields.io/badge/36270634f-fix-green\" alt=\"fix - 36270634f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003e\u003cimg src=\"https://img.shields.io/badge/d87dba6af-fix-green\" alt=\"fix - d87dba6af\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e\u003cimg src=\"https://img.shields.io/badge/0019d1c8e-fix-green\" alt=\"fix - 0019d1c8e\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e\u003cimg src=\"https://img.shields.io/badge/6ad860863-fix-green\" alt=\"fix - 6ad860863\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003cimg src=\"https://img.shields.io/badge/d17397375-fix-green\" alt=\"fix - d17397375\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003cimg src=\"https://img.shields.io/badge/0d49f86ed-fix-green\" alt=\"fix - 0d49f86ed\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003cimg src=\"https://img.shields.io/badge/584f6a2d9-fix-green\" alt=\"fix - 584f6a2d9\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e\u003cimg src=\"https://img.shields.io/badge/6699cdc9b-perf-orange\" alt=\"perf - 6699cdc9b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e\u003cimg src=\"https://img.shields.io/badge/43a9dfa66-fix-green\" alt=\"fix - 43a9dfa66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003e\u003cimg src=\"https://img.shields.io/badge/dee3717b3-fix-green\" alt=\"fix - dee3717b3\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.1 (2026-03-05)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ae4c28d0083d948489f4ba38c571b7f955400226\"\u003eae4c28d00\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrect dev dependency detection logic in \u003ccode\u003eng add\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/465073bc1b2b0e9fa594698651a9e0afe747a74a\"\u003e465073bc1\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003edisable npm update notifier in package manager host\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/36270634f6ff5ab15896a8c2b345659511a8a276\"\u003e36270634f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eensure group members are updated to targeted version\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d87dba6af1116de0838d8683cd69fd31ed9811fd\"\u003ed87dba6af\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eignore unknown files when formatting schematic changes\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/72d466aa04d4d0cc4d654410bcb6dd44f0de3357\"\u003e72d466aa0\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent adding test dependencies when minimal option is enabled\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0019d1c8e1494295a754063dbf936e1cd40d05bd\"\u003e0019d1c8e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eupdate copy-webpack-plugin to v14.0.0\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6ad8608636ad48ae140cc7299a32e0358c761fcc\"\u003e6ad860863\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle polyfills to preserve execution order in dev server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003ed17397375\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003econditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e0d49f86ed\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eresolve style include paths relative to \u003ccode\u003eng-package.json\u003c/code\u003e in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e584f6a2d9\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003etreat empty browsers array as undefined in unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6699cdc9bfbabc3de2ff0cf03acfd6989dc5596c\"\u003e6699cdc9b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003efix memory leak in \u003ccode\u003eng serve\u003c/code\u003e with i18n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/43a9dfa663c386217c9a654f0e80af74823fcf6a\"\u003e43a9dfa66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eimprove header validation logic\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dee3717b3faae9ea75d0a5e53c925f915949b8d0\"\u003edee3717b3\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eintroduce DI token to signal route discovery process\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e20.3.19 (2026-03-04)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/74e254bb541dae96c7d0f21ba2b961a0ae43d1fa\"\u003e\u003ccode\u003e74e254b\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/500b47df9f6f1620a5657d1b1c425fb9394b1d00\"\u003e\u003ccode\u003e500b47d\u003c/code\u003e\u003c/a\u003e ci: add issue_labels job to dev-infra workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/33a3172b1b7c72f6700dc2c97293f7c419bfceb0\"\u003e\u003ccode\u003e33a3172\u003c/code\u003e\u003c/a\u003e build: introduce package deprecation metadata and integrate it into the relea...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/584f6a2d95ac4bdd9f20d918c6700ea79227cc92\"\u003e\u003ccode\u003e584f6a2\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): treat empty browsers array as undefined in unit-test bui...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0d49f86edf5592f0266c6d6689ab4d55b27b2d8d\"\u003e\u003ccode\u003e0d49f86\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): resolve style include paths relative to `ng-package.json...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d1739737564fbcc3e4c5a6c3369046cccf0f6120\"\u003e\u003ccode\u003ed173973\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): conditionally allow \u003ccode\u003evi.mock\u003c/code\u003e for non-relative imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e265b1c5e409a54f6a0525d4e375bbb76a887212\"\u003e\u003ccode\u003ee265b1c\u003c/code\u003e\u003c/a\u003e ci: update pull-request labeling action path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/87a88ba0b932eb4b709479e2ba0fd48f9e682220\"\u003e\u003ccode\u003e87a88ba\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/62b1500ea5f0dbe22fc0ff9312b7b00565806f48\"\u003e\u003ccode\u003e62b1500\u003c/code\u003e\u003c/a\u003e ci: create gemini code reviewer configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/a6d5f330189e74909a6bc886695650a3f40ab9a3\"\u003e\u003ccode\u003ea6d5f33\u003c/code\u003e\u003c/a\u003e build: update dependency aspect_rules_jasmine to v2.0.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.7...v21.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/camilagerarde/Estudos/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/camilagerarde/Estudos/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilagerarde%2FEstudos/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/ui","pr_created_at":"2026-03-05T11:34:49.000Z","version_change":null,"issue":{"uuid":"4027669996","node_id":"PR_kwDOBxIn1M7IK-S5","number":7348,"state":"open","title":"chore(deps): bump tar, @angular-devkit/build-angular and @angular/cli in /ui","user":"dependabot[bot]","labels":["needs-ok-to-test","dependencies","javascript"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T11:34:49.000Z","updated_at":"2026-03-05T11:35:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"15.2.2","new_version":"21.2.0"}],"path":"/ui","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.13 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.13...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 15.2.2 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.2...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 15.2.2 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/15.2.2...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/redhat-developer/odo/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/redhat-developer/odo/pull/7348","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fodo/issues/7348","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7348/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-05T11:13:27.000Z","version_change":null,"issue":{"uuid":"4027574547","node_id":"PR_kwDORN2qMs7IKp0P","number":10,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T09:15:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T11:13:27.000Z","updated_at":"2026-03-11T09:15:51.000Z","time_to_close":511342,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"12.2.7","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 12.2.7 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.7...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 12.2.7 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.7...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/anasazy/nlsn-angular-deep-dive/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/anasazy/nlsn-angular-deep-dive/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/anasazy%2Fnlsn-angular-deep-dive/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-05T10:59:49.000Z","version_change":null,"issue":{"uuid":"4027505805","node_id":"PR_kwDOGf40687IKbDP","number":24,"state":"open","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-05T10:59:49.000Z","updated_at":"2026-03-05T11:00:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"12.2.14","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 12.2.14 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.14...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 12.2.14 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/12.2.14...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/aidenappl/hillviewTVLive/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/aidenappl/hillviewTVLive/pull/24","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aidenappl%2FhillviewTVLive/issues/24","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/24/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":"/frontend/health-e","pr_created_at":"2026-03-05T10:58:27.000Z","version_change":null,"issue":{"uuid":"4027499598","node_id":"PR_kwDOH-RqPM7IKZw9","number":9,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli in /frontend/health-e","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T08:37:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T10:58:27.000Z","updated_at":"2026-03-11T08:37:59.000Z","time_to_close":509970,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"13.1.4","new_version":"21.2.0"}],"path":"/frontend/health-e","ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 6.1.11 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v6.1.11...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 13.1.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 13.1.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/13.1.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Shashwat3012/Health-E/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Shashwat3012/Health-E/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shashwat3012%2FHealth-E/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":null,"new_version":null,"update_type":null,"path":null,"pr_created_at":"2026-03-05T10:55:31.000Z","version_change":null,"issue":{"uuid":"4027484911","node_id":"PR_kwDOChpfdM7IKWn-","number":52,"state":"closed","title":"Bump tar, @angular-devkit/build-angular and @angular/cli","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-11T09:22:48.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-05T10:55:31.000Z","updated_at":"2026-03-11T09:22:50.000Z","time_to_close":512837,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"tar, @angular-devkit/build-angular"},{"name":"@angular/cli","repository_url":"https://github.com/angular/angular-cli","old_version":"10.0.4","new_version":"21.2.0"}],"path":null,"ecosystem":"npm"},"body":"Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.10 and updates ancestor dependencies [tar](https://github.com/isaacs/node-tar), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together.\n\nUpdates `tar` from 4.4.8 to 7.5.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/releases\"\u003etar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.1.13\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13\"\u003e6.1.13\u003c/a\u003e (2022-12-07)\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486\"\u003e\u003ccode\u003ecc4e0dd\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/343\"\u003e#343\u003c/a\u003e bump minipass from 3.3.6 to 4.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.1.12\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12\"\u003e6.1.12\u003c/a\u003e (2022-10-31)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a\"\u003e\u003ccode\u003e57493ee\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/332\"\u003e#332\u003c/a\u003e ensuring close event is emited after stream has ended (\u003ca href=\"https://github.com/webark\"\u003e\u003ccode\u003e@​webark\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680\"\u003e\u003ccode\u003eb003c64\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/314\"\u003e#314\u003c/a\u003e replace deprecated String.prototype.substr() (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/314\"\u003e#314\u003c/a\u003e) (\u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukekarrys\"\u003e\u003ccode\u003e@​lukekarrys\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed\"\u003e\u003ccode\u003ef129929\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-tar/pull/313\"\u003e#313\u003c/a\u003e remove dead link to benchmarks (\u003ca href=\"https://redirect.github.com/isaacs/node-tar/issues/313\"\u003e#313\u003c/a\u003e) (\u003ca href=\"https://github.com/yetzt\"\u003e\u003ccode\u003e@​yetzt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a\"\u003e\u003ccode\u003ec1faa9f\u003c/code\u003e\u003c/a\u003e add examples/explanation of using tar.t (\u003ca href=\"https://github.com/isaacs\"\u003e\u003ccode\u003e@​isaacs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md\"\u003etar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e7.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003ezstd\u003c/code\u003e compression support.\u003c/li\u003e\n\u003cli\u003eConsistent TOCTOU behavior in sync t.list\u003c/li\u003e\n\u003cli\u003eOnly read from ustar block if not specified in Pax\u003c/li\u003e\n\u003cli\u003eFix sync tar.list when file size reduces while reading\u003c/li\u003e\n\u003cli\u003eSanitize absolute linkpaths properly\u003c/li\u003e\n\u003cli\u003ePrevent writing hardlink entries to the archive ahead of their\nfile target\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eonentry\u003c/code\u003e in favor of \u003ccode\u003eonReadEntry\u003c/code\u003e for clarity.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonWriteEntry\u003c/code\u003e option\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRY the command definitions into a single \u003ccode\u003emakeCommand\u003c/code\u003e method,\nand update the type signatures to more appropriately infer the\nreturn type from the options and arguments provided.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate minipass to v7.1.0\u003c/li\u003e\n\u003cli\u003eUpdate the type definitions of \u003ccode\u003ewrite()\u003c/code\u003e and \u003ccode\u003eend()\u003c/code\u003e methods on\n\u003ccode\u003eUnpack\u003c/code\u003e and \u003ccode\u003eParser\u003c/code\u003e classes to be compatible with the\nNodeJS.WritableStream type in the latest versions of\n\u003ccode\u003e@types/node\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node \u0026lt;18\u003c/li\u003e\n\u003cli\u003eRewrite in TypeScript, provide ESM and CommonJS hybrid\ninterface\u003c/li\u003e\n\u003cli\u003eAdd tree-shake friendly exports, like \u003ccode\u003eimport('tar/create')\u003c/code\u003e\nand \u003ccode\u003eimport('tar/read-entry')\u003c/code\u003e to get individual functions or\nclasses.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003echmod\u003c/code\u003e option that defaults to false, and deprecate\n\u003ccode\u003enoChmod\u003c/code\u003e. That is, reverse the default option regarding\nexplicitly setting file system modes to match tar entry\nsettings.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eprocessUmask\u003c/code\u003e option to avoid having to call\n\u003ccode\u003eprocess.umask()\u003c/code\u003e when \u003ccode\u003echmod: true\u003c/code\u003e (or \u003ccode\u003enoChmod: false\u003c/code\u003e) is\nset.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2b72abc1d47c3570e1ad95c9ab557fc4c2e6e4b1\"\u003e\u003ccode\u003e2b72abc\u003c/code\u003e\u003c/a\u003e 7.5.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/7bc755dd85e623c0279e08eb3784909e6d7e4b9f\"\u003e\u003ccode\u003e7bc755d\u003c/code\u003e\u003c/a\u003e parse root off paths before sanitizing .. parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/c8cb84629dee649feedde03f2f4ea48f2e44e778\"\u003e\u003ccode\u003ec8cb846\u003c/code\u003e\u003c/a\u003e update deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/1f0c2c9006b10199cf2686f8ef43e79a1773e1aa\"\u003e\u003ccode\u003e1f0c2c9\u003c/code\u003e\u003c/a\u003e 7.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/fbb08518bf290733b68ca4d4135f75becf73fd75\"\u003e\u003ccode\u003efbb0851\u003c/code\u003e\u003c/a\u003e build minified version as default export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/6b8eba0ef367ac937e703238daa6df94ae6f823f\"\u003e\u003ccode\u003e6b8eba0\u003c/code\u003e\u003c/a\u003e 7.5.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/2cb1120bcefe28d7ecc719b41441ade59c52e384\"\u003e\u003ccode\u003e2cb1120\u003c/code\u003e\u003c/a\u003e fix(unpack): improve UnpackSync symlink error \u0026quot;into\u0026quot; path accuracy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/d18e4e1f846f4ddddc153b0f536a19c050e7499f\"\u003e\u003ccode\u003ed18e4e1\u003c/code\u003e\u003c/a\u003e fix: do not write linkpaths through symlinks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/4a37eb9a1cf1137df4eb70c5c7f849f412ff3cdb\"\u003e\u003ccode\u003e4a37eb9\u003c/code\u003e\u003c/a\u003e 7.5.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-tar/commit/f4a7aa9bc3d717c987fdf1480ff7a64e87ffdb46\"\u003e\u003ccode\u003ef4a7aa9\u003c/code\u003e\u003c/a\u003e fix: properly sanitize hard links containing ..\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-tar/compare/v4.4.8...v7.5.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~isaacs\"\u003eisaacs\u003c/a\u003e, a new releaser for tar since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular-devkit/build-angular` from 0.1000.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular-devkit/build-angular\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/angular/angular-cli/commits/v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@angular/cli` from 10.0.4 to 21.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/releases\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e21.2.0\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003e\u003cimg src=\"https://img.shields.io/badge/aa7381efd-feat-blue\" alt=\"feat - aa7381efd\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003e\u003cimg src=\"https://img.shields.io/badge/f80db6fb7-feat-blue\" alt=\"feat - f80db6fb7\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e\u003cimg src=\"https://img.shields.io/badge/5d1df50d8-fix-green\" alt=\"fix - 5d1df50d8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e\u003cimg src=\"https://img.shields.io/badge/0dd04f289-feat-blue\" alt=\"feat - 0dd04f289\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003e\u003cimg src=\"https://img.shields.io/badge/fbae1b6ab-feat-blue\" alt=\"feat - fbae1b6ab\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e\u003cimg src=\"https://img.shields.io/badge/91b9d281f-feat-blue\" alt=\"feat - 91b9d281f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e\u003cimg src=\"https://img.shields.io/badge/98a24d040-feat-blue\" alt=\"feat - 98a24d040\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003e\u003cimg src=\"https://img.shields.io/badge/d9cd609c5-fix-green\" alt=\"fix - d9cd609c5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e\u003cimg src=\"https://img.shields.io/badge/5b05f2500-fix-green\" alt=\"fix - 5b05f2500\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003cimg src=\"https://img.shields.io/badge/25b8a157d-fix-green\" alt=\"fix - 25b8a157d\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e\u003cimg src=\"https://img.shields.io/badge/6f29a8c35-fix-green\" alt=\"fix - 6f29a8c35\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003e\u003cimg src=\"https://img.shields.io/badge/bc363af8b-perf-orange\" alt=\"perf - bc363af8b\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003e\u003cimg src=\"https://img.shields.io/badge/ece30f235-feat-blue\" alt=\"feat - ece30f235\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003e\u003cimg src=\"https://img.shields.io/badge/cad7a7c0f-feat-blue\" alt=\"feat - cad7a7c0f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e\u003cimg src=\"https://img.shields.io/badge/0b4982720-fix-green\" alt=\"fix - 0b4982720\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e\u003cimg src=\"https://img.shields.io/badge/1f114a9e8-fix-green\" alt=\"fix - 1f114a9e8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003e\u003cimg src=\"https://img.shields.io/badge/fd5cb28c8-fix-green\" alt=\"fix - fd5cb28c8\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003cimg src=\"https://img.shields.io/badge/dc899e8a5-fix-green\" alt=\"fix - dc899e8a5\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003cimg src=\"https://img.shields.io/badge/26bbea12f-fix-green\" alt=\"fix - 26bbea12f\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.2\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e\u003cimg src=\"https://img.shields.io/badge/201a036f2-fix-green\" alt=\"fix - 201a036f2\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.1\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003e\u003cimg src=\"https://img.shields.io/badge/cdd26bb66-fix-green\" alt=\"fix - cdd26bb66\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cf5a72d33c1753c121f71498c0c415a0f0864492\"\u003e\u003cimg src=\"https://img.shields.io/badge/cf5a72d33-fix-green\" alt=\"fix - cf5a72d33\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f78f38827861cf01471e30fcf81ef14d6265a0f2\"\u003e\u003cimg src=\"https://img.shields.io/badge/f78f38827-fix-green\" alt=\"fix - f78f38827\" /\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003e21.2.0-rc.0\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/angular/angular-cli/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e21.2.0 (2026-02-25)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/cli\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0dd04f289e555a4a8af7bdadabe300da74701e3b\"\u003e0dd04f289\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd markdown files to Prettier's formatting list\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fbae1b6ab384186ae69e804c54815cea80e6a600\"\u003efbae1b6ab\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eautomatic formatting files modified by schematics\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/91b9d281fc88a242aa6e5dd5495e275990d926ef\"\u003e91b9d281f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eintegrate file formatting into update migrations\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/98a24d0401f36f484dc9c4d8b0f5284ffa524f19\"\u003e98a24d040\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003estandardize MCP tools around workspace/project options\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/d9cd609c5d13fe492b1f31973d9be518f8529387\"\u003ed9cd609c5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ecorrectly parse scoped packages in yarn classic list output\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5b05f25005621828565585692b1d7a67c5f0fec8\"\u003e5b05f2500\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eenable shell option for Prettier execution on Windows platforms\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e25b8a157d\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003equote complex range specifiers in package manager\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/6f29a8c35abb8928d4e7ea01958192dd2a83491d\"\u003e6f29a8c35\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003erenamed files by their new path in the schematic workflow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/201a036f204a6940f70a36a507a4a53d144b5768\"\u003e201a036f2\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003esimplify Angular version compatibility checks and add special handling for local builds of new major versions\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cdd26bb66d8ab334f76323c2b5cae1aa8ce815f6\"\u003ecdd26bb66\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate package manager version using \u003ccode\u003esemver.valid\u003c/code\u003e and throw an error if invalid\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/bc363af8bc40f117a4e35ec9eb7eedf69f5b5b37\"\u003ebc363af8b\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eperf\u003c/td\u003e\n\u003ctd\u003eoptimize package manager discovery with stat-based probing\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​schematics/angular\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/aa7381efd213eff70a8004731a7e2b06a60cb8c2\"\u003eaa7381efd\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd a '.prettierrc' file to generated workspaces and add Prettier as dev dependency\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/f80db6fb714aa326f6ed03a8a51090ca59ad0955\"\u003ef80db6fb7\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd ng-add support for Vitest browser providers\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/5d1df50d8b84b453570ae5fd9ab6f949bbc11649\"\u003e5d1df50d8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadd actionable feedback to vitest-browser schematic\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/build\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/ece30f2359c2dc794b0c9272447f623a121e88b0\"\u003eece30f235\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003eadd headless option to unit-test builder\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/cad7a7c0ff3778f04820a99ad0aa9d74f1067fd5\"\u003ecad7a7c0f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efeat\u003c/td\u003e\n\u003ctd\u003erun vitest browser with playwright with OS theme\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/0b4982720e111bf5029bcf97f7e0ce2658c42d43\"\u003e0b4982720\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eadjust sourcemap sources when Vitest wrapper is bypassed\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/1f114a9e8b9bddd53e01016a2d7cb211a04eee48\"\u003e1f114a9e8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003ebundle setup files in unit-test builder for Vitest\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/fd5cb28c8082417288a896b89bde659bb0dc92e2\"\u003efd5cb28c8\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eexplicitly fail when using Vitest runtime mocking\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003edc899e8a5\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003enormalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e26bbea12f\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eserve extensionless assets without transformation\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch1\u003e21.1.5 (2026-02-23)\u003c/h1\u003e\n\u003ch3\u003e\u003ccode\u003e@​angular/ssr\u003c/code\u003e\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eCommit\u003c/th\u003e\n\u003cth\u003eType\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/8695d6063e4c4123a37a3450c7db3a7c9d99050a\"\u003e8695d6063\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003eprevent open redirect via X-Forwarded-Prefix header\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/e4d445ec674841dd1d374c83344c0a704ee3807c\"\u003ee4d445ec6\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003efix\u003c/td\u003e\n\u003ctd\u003evalidate host headers to prevent header-based SSRF\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/018d493fd40a9df61067bf05c6c1a62e1da40848\"\u003e\u003ccode\u003e018d493\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/481e40d2806e1a21531589f282d55e8cd1a6fa93\"\u003e\u003ccode\u003e481e40d\u003c/code\u003e\u003c/a\u003e build: bump framework dependencies to latest minor\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/54bd6e3e77c68e8f241a47a216e556a69489befd\"\u003e\u003ccode\u003e54bd6e3\u003c/code\u003e\u003c/a\u003e build: lock file maintenance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/dc899e8a530979de8e9579f2281b681e6f737a62\"\u003e\u003ccode\u003edc899e8\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): normalize \u003ccode\u003eallowedHosts\u003c/code\u003e in dev-server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/c86193ecd91d5a32ca0042fd2656062f1a640d09\"\u003e\u003ccode\u003ec86193e\u003c/code\u003e\u003c/a\u003e build: update cross-repo angular dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/4041e14a33564dd5ff215dfa6604d96e56e895fa\"\u003e\u003ccode\u003e4041e14\u003c/code\u003e\u003c/a\u003e build: update bazel dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/26bbea12f872c18e59de05d3c51cc11dd0a09cda\"\u003e\u003ccode\u003e26bbea1\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/build\u003c/code\u003e): serve extensionless assets without transformation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/25b8a157df70fb0d2c4e6c5438a50ec12e3abc0c\"\u003e\u003ccode\u003e25b8a15\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003e@​angular/cli\u003c/code\u003e): quote complex range specifiers in package manager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/42f7d99e3261ec7b48a4cc20a20a9daaefa15650\"\u003e\u003ccode\u003e42f7d99\u003c/code\u003e\u003c/a\u003e docs: clarify CLI debugging example by replacing ellipsis with \u003ccode\u003e\\\u0026lt;command\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/angular/angular-cli/commit/808dab64e94eba80c12b0598be8bebc32926d9b8\"\u003e\u003ccode\u003e808dab6\u003c/code\u003e\u003c/a\u003e release: cut the v21.2.0-rc.2 release\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/angular/angular-cli/compare/v10.0.4...v21.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/Quezako/kanji-front/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/Quezako/kanji-front/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quezako%2Fkanji-front/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}}]}