PackageTrack

npm · #4637 most downloaded on npm

@ngtools/webpack

21.2.22angular/angular-cli

Webpack plugin that AoT compiles your Angular components and modules.

Release timeline

1103 releases since 2016
20182020202220242026

Releases

  1. 22.2.0-next.526 Aug 2026pre-release
    Release notes

    @angular/build

    Commit Description
    ignore side-effect annotations in unit test builds
    prevent memory leaks in parallel compilation and caches
    batch prerender routes and share in-memory server bundles
    consolidate component stylesheet bundling with shared load result cache
    implement SharedArrayBuffer translation dictionaries for zero-copy worker access
    implement sliding-window batching and worker translation eviction
    unify Oxc linking and optimization AST traversal passes

    @angular/ssr

    Commit Description
    abort web request signal when node request is aborted
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    4d0be683b7 fix ignore side-effect annotations in unit test builds
    e4111ae818 fix prevent memory leaks in parallel compilation and caches
    62999cabf4 perf batch prerender routes and share in-memory server bundles
    0589edd9cd perf consolidate component stylesheet bundling with shared load result cache
    a877aa7ebd perf implement SharedArrayBuffer translation dictionaries for zero-copy worker access
    f1cc959439 perf implement sliding-window batching and worker translation eviction
    f4dad31cce perf unify Oxc linking and optimization AST traversal passes

    @angular/ssr

    Commit Type Description
    f8576e3c8b fix abort web request signal when node request is aborted

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.6"></a>

    Open source →
  2. 22.2.0-next.419 Aug 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    transform fail() to expect.fail() in refactor-jasmine-vitest

    @angular/cli

    Commit Description
    enforce MCP roots in get_best_practices tool
    handle errors from isAllowedWorkspacePath in best-practices tool
    throw on out-of-roots workspace in best-practices tool

    @angular/build

    Commit Description
    Support splitting browser and server stats jsonfiles for easier consumption
    correct misleading error message for top-level await
    disable code splitting for unit test builds
    preserve integrity and crossorigin in autoCsp loader
    traverse AST with iterative post-order walker in i18n inliner
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    34e1e0bb5 fix enforce MCP roots in get_best_practices tool
    2b060630c fix handle errors from isAllowedWorkspacePath in best-practices tool
    24fd8fce2 fix throw on out-of-roots workspace in best-practices tool

    @schematics/angular

    Commit Type Description
    ce1b60f89 fix transform fail() to expect.fail() in refactor-jasmine-vitest

    @angular/build

    Commit Type Description
    175273931 feat Support splitting browser and server stats jsonfiles for easier consumption
    1ee0beca7 fix correct misleading error message for top-level await
    0ffe2d27f fix disable code splitting for unit test builds
    50994d76e fix preserve integrity and crossorigin in autoCsp loader
    d6fd24320 perf traverse AST with iterative post-order walker in i18n inliner

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.5"></a>

    Open source →
  3. 22.2.0-next.313 Aug 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    generate CLAUDE.md for Claude Code instead of AGENTS.md
    import UrlSegment instead of subPath in guard generator

    @angular/cli

    Commit Description
    disable searching current directory for bare executable names on Windows
    serialize configuration as a single argv token in run_target strategies (#33657)
    avoid eager module loading during global bootstrap

    @angular/build

    Commit Description
    count statically imported chunks in the initial total
    normalize setupFiles paths to POSIX for vitest runner
    prevent syntax corruption for Crockford-style enum IIFE
    recursively ignore output and cache paths in watch mode
    return direct file contents for non-Angular TypeScript files
    return only lowest version per target engine
    set target for Rolldown dependency prebundling in Vite dev server
    avoid encoding intermediate source maps before remapping
    avoid encoding the inline source map before remapping
    batch last_accessed updates in sqlite cache store
    hash the i18n inline cache key options once per locale
    optimize sourcemap stripping and loading with buffer fast path
    optimize template string size calculation in server manifest
    replace watchpack with @parcel/watcher and chokidar
    share i18n translations with the inliner workers by reference
    use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Description
    destroy platform when response stream is cancelled
    Open source →
    Additional notes

    @schematics/angular

    Commit Description
    generate CLAUDE.md for Claude Code instead of AGENTS.md
    import UrlSegment instead of subPath in guard generator

    @angular/cli

    Commit Description
    disable searching current directory for bare executable names on Windows
    serialize configuration as a single argv token in run_target strategies (#33657)
    avoid eager module loading during global bootstrap

    @angular/build

    Commit Description
    count statically imported chunks in the initial total
    normalize setupFiles paths to POSIX for vitest runner
    prevent syntax corruption for Crockford-style enum IIFE
    recursively ignore output and cache paths in watch mode
    return direct file contents for non-Angular TypeScript files
    return only lowest version per target engine
    set target for Rolldown dependency prebundling in Vite dev server
    avoid encoding intermediate source maps before remapping
    avoid encoding the inline source map before remapping
    batch last_accessed updates in sqlite cache store
    hash the i18n inline cache key options once per locale
    optimize sourcemap stripping and loading with buffer fast path
    optimize template string size calculation in server manifest
    replace watchpack with @parcel/watcher and chokidar
    share i18n translations with the inliner workers by reference
    use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Description
    destroy platform when response stream is cancelled
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    7106676e6 fix disable searching current directory for bare executable names on Windows
    ecf8c0822 fix serialize configuration as a single argv token in run_target strategies (#33657)
    2e4dd90c3 perf avoid eager module loading during global bootstrap

    @schematics/angular

    Commit Type Description
    1161e6c99 fix generate CLAUDE.md for Claude Code instead of AGENTS.md
    c536ae364 fix import UrlSegment instead of subPath in guard generator

    @angular/build

    Commit Type Description
    04b532772 fix count statically imported chunks in the initial total
    2274babb6 fix normalize setupFiles paths to POSIX for vitest runner
    199a864df fix prevent syntax corruption for Crockford-style enum IIFE
    0d9851600 fix recursively ignore output and cache paths in watch mode
    3eba6f726 fix return direct file contents for non-Angular TypeScript files
    3c7ac1518 fix return only lowest version per target engine
    3e9fed9a6 fix set target for Rolldown dependency prebundling in Vite dev server
    87551ad5c perf avoid encoding intermediate source maps before remapping
    194be2088 perf avoid encoding the inline source map before remapping
    a55a6b78e perf batch last_accessed updates in sqlite cache store
    33b305416 perf hash the i18n inline cache key options once per locale
    1c00edce0 perf optimize sourcemap stripping and loading with buffer fast path
    b6269a816 perf optimize template string size calculation in server manifest
    a6ef9cfbe perf replace watchpack with @parcel/watcher and chokidar
    596847f89 perf share i18n translations with the inliner workers by reference
    19c91e48d perf use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Type Description
    6a3446770 fix destroy platform when response stream is cancelled

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.4"></a>

    Open source →
  4. 22.2.0-next.25 Aug 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/build

    Commit Description
    disable linker internal source mapping in OXC linker
    prevent syntax corruption in linker and oxc transform
    Open source →
    Additional notes

    @angular/build

    Commit Description
    disable linker internal source mapping in OXC linker
    prevent syntax corruption in linker and oxc transform
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    7e5510e464 fix disable linker internal source mapping in OXC linker
    bad31421cb fix prevent syntax corruption in linker and oxc transform

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.2.0-next.1"></a>

    Open source →
  5. 22.2.0-next.15 Aug 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    add --root command line option to mcp command
    add packages with built-in schematics to devDependencies only
    always install package during ng add to inspect manifest on disk for schematics (#33718)
    correctly report available package updates during bare ng update
    discover migrations from installed packages when omitted by registry metadata (#33718)
    normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Description
    migrate Angular Linker to oxc-parser and magic-string
    prevent build process hang on unhandled error (#33715)
    prevent IIFE wrapper interleaving for adjacent classes in minified files
    retain watch files on error in load result cache
    support case-insensitive and alternative license file names
    release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Description
    settle writeResponseToNodeResponse when client disconnects
    avoid buffering request body when sanitizing headers
    Open source →
    Additional notes

    @angular/cli

    Commit Description
    add --root command line option to mcp command
    add packages with built-in schematics to devDependencies only
    always install package during ng add to inspect manifest on disk for schematics (#33718)
    correctly report available package updates during bare ng update
    discover migrations from installed packages when omitted by registry metadata (#33718)
    normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Description
    migrate Angular Linker to oxc-parser and magic-string
    prevent build process hang on unhandled error (#33715)
    prevent IIFE wrapper interleaving for adjacent classes in minified files
    retain watch files on error in load result cache
    support case-insensitive and alternative license file names
    release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Description
    settle writeResponseToNodeResponse when client disconnects
    avoid buffering request body when sanitizing headers
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    41555dfb3b feat add --root command line option to mcp command
    035b9d5c9b fix add packages with built-in schematics to devDependencies only
    0ae5690c35 fix always install package during ng add to inspect manifest on disk for schematics (#33718)
    44ff584b33 fix correctly report available package updates during bare ng update
    1d4f9ebbe9 fix discover migrations from installed packages when omitted by registry metadata (#33718)
    25034f97ad fix normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Type Description
    ad8271320f feat migrate Angular Linker to oxc-parser and magic-string
    4fb12292c2 fix prevent build process hang on unhandled error (#33715)
    abd8ec9f3e fix prevent IIFE wrapper interleaving for adjacent classes in minified files
    bcadbbef20 fix retain watch files on error in load result cache
    e1c7193dce fix support case-insensitive and alternative license file names
    f4a0f846e7 perf release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Type Description
    b74eef889f fix settle writeResponseToNodeResponse when client disconnects
    33169801c6 perf avoid buffering request body when sanitizing headers

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.3"></a>

    Open source →
  6. 22.2.0-next.030 Jul 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    support npm 12 metadata array and error formats

    @angular/build

    Commit Description
    rewrite paths from sandboxed execroots when running under Bazel
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    e148a8df93 fix support npm 12 metadata array and error formats

    @angular/build

    Commit Type Description
    6469b5f1f5 fix rewrite paths from sandboxed execroots when running under Bazel

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.0"></a>

    Open source →
  7. 22.1.626 Aug 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/build

    Commit Description
    ignore side-effect annotations in unit test builds
    batch prerender routes and share in-memory server bundles

    @angular/ssr

    Commit Description
    abort web request signal when node request is aborted
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    3f132eaa97 fix ignore side-effect annotations in unit test builds
    5b1028936f perf batch prerender routes and share in-memory server bundles

    @angular/ssr

    Commit Type Description
    76818cb811 fix abort web request signal when node request is aborted

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.22"></a>

    Open source →
  8. 22.1.519 Aug 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    transform fail() to expect.fail() in refactor-jasmine-vitest

    @angular/cli

    Commit Description
    enforce MCP roots in get_best_practices tool
    handle errors from isAllowedWorkspacePath in best-practices tool
    throw on out-of-roots workspace in best-practices tool

    @angular/build

    Commit Description
    correct misleading error message for top-level await
    disable code splitting for unit test builds
    preserve integrity and crossorigin in autoCsp loader
    traverse AST with iterative post-order walker in i18n inliner
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    e672271f8 fix enforce MCP roots in get_best_practices tool
    a14916cc4 fix handle errors from isAllowedWorkspacePath in best-practices tool
    d6e1cddff fix throw on out-of-roots workspace in best-practices tool

    @schematics/angular

    Commit Type Description
    ba2b0e4c2 fix transform fail() to expect.fail() in refactor-jasmine-vitest

    @angular/build

    Commit Type Description
    cba72902d fix correct misleading error message for top-level await
    b4679998c fix disable code splitting for unit test builds
    ff1d3565e fix preserve integrity and crossorigin in autoCsp loader
    1fc1fb05c perf traverse AST with iterative post-order walker in i18n inliner

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.2.0-next.3"></a>

    Open source →
  9. 22.1.413 Aug 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    generate CLAUDE.md for Claude Code instead of AGENTS.md
    import UrlSegment instead of subPath in guard generator

    @angular/cli

    Commit Description
    disable searching current directory for bare executable names on Windows
    serialize configuration as a single argv token in run_target strategies (#33657)
    avoid eager module loading during global bootstrap

    @angular/build

    Commit Description
    count statically imported chunks in the initial total
    normalize setupFiles paths to POSIX for vitest runner
    prevent syntax corruption for Crockford-style enum IIFE
    prevent syntax corruption in oxc transform
    return direct file contents for non-Angular TypeScript files
    return only lowest version per target engine
    set target for Rolldown dependency prebundling in Vite dev server
    avoid encoding the inline source map before remapping
    batch last_accessed updates in sqlite cache store
    hash the i18n inline cache key options once per locale
    optimize template string size calculation in server manifest
    share i18n translations with the inliner workers by reference
    use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Description
    destroy platform when response stream is cancelled
    Open source →
    Additional notes

    @schematics/angular

    Commit Description
    generate CLAUDE.md for Claude Code instead of AGENTS.md
    import UrlSegment instead of subPath in guard generator

    @angular/cli

    Commit Description
    disable searching current directory for bare executable names on Windows
    serialize configuration as a single argv token in run_target strategies (#33657)
    avoid eager module loading during global bootstrap

    @angular/build

    Commit Description
    count statically imported chunks in the initial total
    normalize setupFiles paths to POSIX for vitest runner
    prevent syntax corruption for Crockford-style enum IIFE
    prevent syntax corruption in oxc transform
    return direct file contents for non-Angular TypeScript files
    return only lowest version per target engine
    set target for Rolldown dependency prebundling in Vite dev server
    avoid encoding the inline source map before remapping
    batch last_accessed updates in sqlite cache store
    hash the i18n inline cache key options once per locale
    optimize template string size calculation in server manifest
    share i18n translations with the inliner workers by reference
    use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Description
    destroy platform when response stream is cancelled
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    67a29899b fix disable searching current directory for bare executable names on Windows
    1b0ba5c17 fix serialize configuration as a single argv token in run_target strategies (#33657)
    9440432d2 perf avoid eager module loading during global bootstrap

    @schematics/angular

    Commit Type Description
    d4a48e3ab fix generate CLAUDE.md for Claude Code instead of AGENTS.md
    d451f15b2 fix import UrlSegment instead of subPath in guard generator

    @angular/build

    Commit Type Description
    46fcb29d6 fix count statically imported chunks in the initial total
    796b57684 fix normalize setupFiles paths to POSIX for vitest runner
    c805e5cfb fix prevent syntax corruption for Crockford-style enum IIFE
    cc6c17716 fix prevent syntax corruption in oxc transform
    a142f6f83 fix return direct file contents for non-Angular TypeScript files
    956c6578d fix return only lowest version per target engine
    689b5b116 fix set target for Rolldown dependency prebundling in Vite dev server
    70461f6ed perf avoid encoding the inline source map before remapping
    22cce7563 perf batch last_accessed updates in sqlite cache store
    ab2ed18d5 perf hash the i18n inline cache key options once per locale
    34516ff73 perf optimize template string size calculation in server manifest
    712971c37 perf share i18n translations with the inliner workers by reference
    78f8c5fef perf use Map for chunk asset size lookups in budget calculator

    @angular/ssr

    Commit Type Description
    2331c1047 fix destroy platform when response stream is cancelled

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.21"></a>

    Open source →
  10. 22.1.35 Aug 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    always install package during ng add to inspect manifest on disk for schematics (#33718)
    correctly report available package updates during bare ng update
    discover migrations from installed packages when omitted by registry metadata (#33718)
    normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Description
    prevent build process hang on unhandled error (#33715)
    retain watch files on error in load result cache
    support case-insensitive and alternative license file names
    release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Description
    settle writeResponseToNodeResponse when client disconnects
    avoid buffering request body when sanitizing headers
    Open source →
    Additional notes

    @angular/cli

    Commit Description
    always install package during ng add to inspect manifest on disk for schematics (#33718)
    correctly report available package updates during bare ng update
    discover migrations from installed packages when omitted by registry metadata (#33718)
    normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Description
    prevent build process hang on unhandled error (#33715)
    retain watch files on error in load result cache
    support case-insensitive and alternative license file names
    release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Description
    settle writeResponseToNodeResponse when client disconnects
    avoid buffering request body when sanitizing headers
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    f837b788c6 fix always install package during ng add to inspect manifest on disk for schematics (#33718)
    72ae93638d fix correctly report available package updates during bare ng update
    a949e06568 fix discover migrations from installed packages when omitted by registry metadata (#33718)
    1d9122fd50 fix normalize Windows drive-letter casing for process.cwd

    @angular/build

    Commit Type Description
    a4860d505a fix prevent build process hang on unhandled error (#33715)
    7686d66cab fix retain watch files on error in load result cache
    25b7cf7504 fix support case-insensitive and alternative license file names
    4fd81402ce perf release build resources early in non-watch mode (#33715)

    @angular/ssr

    Commit Type Description
    6af906cb94 fix settle writeResponseToNodeResponse when client disconnects
    917d3b2254 perf avoid buffering request body when sanitizing headers

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.20"></a>

    Open source →
  11. 22.1.230 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    add packages with built-in schematics to devDependencies only

    @angular/build

    Commit Description
    prevent IIFE wrapper interleaving for adjacent classes in minified files
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    57db27ea91 fix add packages with built-in schematics to devDependencies only

    @angular/build

    Commit Type Description
    baed978885 fix prevent IIFE wrapper interleaving for adjacent classes in minified files

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.1"></a>

    Open source →
  12. 22.1.130 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    support npm 12 metadata array and error formats

    @angular/build

    Commit Description
    rewrite paths from sandboxed execroots when running under Bazel
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    ab971a8543 fix support npm 12 metadata array and error formats

    @angular/build

    Commit Type Description
    db24220fb8 fix rewrite paths from sandboxed execroots when running under Bazel

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.2.0-next.0"></a>

    Open source →
  13. 22.1.029 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    abort and guide manual mitigation when updating catalog packages
    prevent Yarn registry environment variable override
    remove algoliasearch dependency and support latest docs versions
    resolve correct registry name when using npm alias syntax during update
    respect client-side release age settings during update resolution
    revert package.json changes if installation tasks fail during update
    robustly parse npm manifest from array

    @schematics/angular

    Commit Description
    update ai-config to include Angular MCP server config
    remove unused spec tsconfig outDir

    @angular-devkit/core

    Commit Description
    deprecate stringToFileBuffer and fileBufferToString

    @angular/build

    Commit Description
    add built-in SQLite cache store fallback
    emit debug ids for stable subresource integrity hashes
    enable chunk optimization for server builds
    migrate advanced optimization Babel plugins to oxc-parser + magic-string
    migrate i18n inliner to oxc-parser + magic-string
    share persistent build cache across git worktrees
    add bounded timeout to vitest executor disposal
    anchor debug ID comment matching and make injection idempotent
    prevent esbuild service hang on internal component stylesheet builds
    prevent stripping nested sourceMappingURL comments
    support hyphens and underscores when stripping chunk hash in chunk optimizer
    default chunk optimization to use Rolldown
    enable fast-path AST printing with sourcemaps in AotCompilation

    @angular/ssr

    Commit Description
    support the standard Forwarded header

    Deprecations

    @angular-devkit/core

    • stringToFileBuffer and fileBufferToString are deprecated. Use standard Web APIs (TextEncoder and TextDecoder) instead.

      Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for @angular-devkit/core has been updated to reflect the deprecations.

    Open source →
    Additional notes

    Deprecations

    @angular-devkit/core

    • stringToFileBuffer and fileBufferToString are deprecated. Use standard Web APIs (TextEncoder and TextDecoder) instead.

      Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for @angular-devkit/core has been updated to reflect the deprecations.

    @schematics/angular

    Commit Type Description
    89d7f59cd feat update ai-config to include Angular MCP server config
    b345bb54d fix remove unused spec tsconfig outDir

    @angular/cli

    Commit Type Description
    f59bcf529 fix abort and guide manual mitigation when updating catalog packages
    48f90f5d5 fix prevent Yarn registry environment variable override
    c963ecbec fix remove algoliasearch dependency and support latest docs versions
    6859d25c3 fix resolve correct registry name when using npm alias syntax during update
    3a2589dac fix respect client-side release age settings during update resolution
    5c3101bff fix revert package.json changes if installation tasks fail during update
    7932caaf9 fix robustly parse npm manifest from array

    @angular-devkit/core

    Commit Type Description
    fd336d365 refactor deprecate stringToFileBuffer and fileBufferToString

    @angular/build

    Commit Type Description
    34d558c3c feat add built-in SQLite cache store fallback
    0c18dc0f6 feat emit debug ids for stable subresource integrity hashes
    51f69276f feat enable chunk optimization for server builds
    10dc30f9c feat migrate advanced optimization Babel plugins to oxc-parser + magic-string
    917393a4c feat migrate i18n inliner to oxc-parser + magic-string
    52ae7f862 feat share persistent build cache across git worktrees
    95510511d fix add bounded timeout to vitest executor disposal
    62b11e316 fix anchor debug ID comment matching and make injection idempotent
    6d9b360e5 fix prevent esbuild service hang on internal component stylesheet builds
    291caab61 fix prevent stripping nested sourceMappingURL comments
    0e3ca3dfb fix support hyphens and underscores when stripping chunk hash in chunk optimizer
    585d08af8 perf default chunk optimization to use Rolldown
    09d0a11a8 perf enable fast-path AST printing with sourcemaps in AotCompilation

    @angular/ssr

    Commit Type Description
    7ef9ed24d feat support the standard Forwarded header

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.9"></a>

    Open source →
  14. 22.1.0-rc.023 Jul 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    abort and guide manual mitigation when updating catalog packages
    batch Prettier invocations during migration formatting
    remove algoliasearch dependency and support latest docs versions
    resolve correct registry name when using npm alias syntax during update
    revert package.json changes if installation tasks fail during update
    update MCP devserver tool names to conform to spec regex

    @angular/build

    Commit Description
    enable chunk optimization for server builds
    migrate advanced optimization Babel plugins to oxc-parser + magic-string
    migrate i18n inliner to oxc-parser + magic-string
    add bounded timeout to vitest executor disposal
    anchor debug ID comment matching and make injection idempotent
    canonicalize drive letter casing for workspace root on Windows
    ensure import map integrity keys are valid URL-like specifiers
    favor istanbul coverage provider when browser testing is enabled
    preserve custom config options in runnerConfig for vitest
    remap metafile paths when workspace root is a symlink or junction
    support hyphens and underscores when stripping chunk hash in chunk optimizer
    skip semantic affected-file walk when type checking is disabled
    Open source →
  15. 22.1.0-next.415 Jul 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    remove unused spec tsconfig outDir

    @angular/cli

    Commit Description
    copy packageManager field and yarn config for temp installs
    support resolving subproject dependencies in pnpm workspaces

    @angular/build

    Commit Description
    emit debug ids for stable subresource integrity hashes
    prevent stripping nested sourceMappingURL comments
    Open source →
  16. 22.1.0-next.39 Jul 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/build

    Commit Description
    add built-in SQLite cache store fallback
    share persistent build cache across git worktrees
    fallback to build target preserveSymlinks option in karma runner
    prevent esbuild service hang on internal component stylesheet builds
    prevent externalizing builder-injected i18n locale data
    strip all vite id prefixes from minified code with external dependencies
    enable fast-path AST printing with sourcemaps in AotCompilation

    @angular/ssr

    Commit Description
    replace all route parameters when resolving relative redirects
    Open source →
  17. 22.1.0-next.21 Jul 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    remove unused app tsconfig outDir

    @angular/cli

    Commit Description
    gracefully handle package manager errors in command handler
    respect client-side release age settings during update resolution
    respect release age policy in update bootstrapping logic

    @angular-devkit/build-angular

    Commit Description
    prevent OS command injection in ssr-dev-server builder

    @angular/build

    Commit Description
    auto-inject localize/init in library unit tests
    inherit preserveSymlinks option from build target in unit-test builder
    load zone.js dynamically for library unit tests
    scope createRequire module resolution using paths to prevent parent paths

    @angular/ssr

    Commit Description
    preserve response headers during redirect
    Open source →
  18. 22.1.0-next.124 Jun 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    remove default workspace vscode mcp.json configuration

    @angular/cli

    Commit Description
    prevent Yarn registry environment variable override
    support registry metadata fetching under bun package manager
    implement semaphore backpressure throttling in PackageManager

    @angular/build

    Commit Description
    aggregate parallel worker performance timings on the main thread
    default chunk optimization to use Rolldown
    dispose builder result context early in non-watch mode
    implement semaphore backpressure throttling in JavaScriptTransformer

    @angular/ssr

    Commit Description
    support the standard Forwarded header
    avoid caching non-SSG page lookups
    prioritize options over environment variables in AngularNodeAppEngine
    Open source →
  19. 22.1.0-next.011 Jun 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    robustly parse npm manifest from array

    @schematics/angular

    Commit Description
    update ai-config to include Angular MCP server config

    @angular-devkit/core

    Commit Description
    deprecate stringToFileBuffer and fileBufferToString

    @angular/ssr

    Commit Description
    correct grammar in console warning for redirected location headers

    Deprecations

    @angular-devkit/core

    • stringToFileBuffer and fileBufferToString are deprecated. Use standard Web APIs (TextEncoder and TextDecoder) instead.

      Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for @angular-devkit/core has been updated to reflect the deprecations.

    Open source →
  20. 22.0.929 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    declare devserver_start and devserver_stop as isReadOnly:false

    @angular/build

    Commit Description
    safeguard Karma builder stream controller against closed state
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    9ee8f9b669 fix declare devserver_start and devserver_stop as isReadOnly:false

    @angular/build

    Commit Type Description
    d0c776d461 fix safeguard Karma builder stream controller against closed state

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.8"></a>

    Open source →
  21. 22.0.823 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    batch Prettier invocations during migration formatting
    update MCP devserver tool names to conform to spec regex

    @angular/build

    Commit Description
    canonicalize drive letter casing for workspace root on Windows
    ensure import map integrity keys are valid URL-like specifiers
    favor istanbul coverage provider when browser testing is enabled
    preserve custom config options in runnerConfig for vitest
    remap metafile paths when workspace root is a symlink or junction
    skip semantic affected-file walk when type checking is disabled
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    41c356256 fix batch Prettier invocations during migration formatting
    bc87c85c3 fix update MCP devserver tool names to conform to spec regex

    @angular/build

    Commit Type Description
    5724bf632 fix canonicalize drive letter casing for workspace root on Windows
    b8bdbaa1e fix ensure import map integrity keys are valid URL-like specifiers
    212a7bb21 fix favor istanbul coverage provider when browser testing is enabled
    bc760b005 fix preserve custom config options in runnerConfig for vitest
    19cda7415 fix remap metafile paths when workspace root is a symlink or junction
    fdcc98c79 perf skip semantic affected-file walk when type checking is disabled

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.7"></a>

    Open source →
  22. 22.0.715 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    copy packageManager field and yarn config for temp installs
    support resolving subproject dependencies in pnpm workspaces
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    e85c10ccb fix copy packageManager field and yarn config for temp installs
    b87cafec0 fix support resolving subproject dependencies in pnpm workspaces

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.19"></a>

    Open source →
  23. 22.0.69 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/build

    Commit Description
    fallback to build target preserveSymlinks option in karma runner
    prevent externalizing builder-injected i18n locale data
    strip all vite id prefixes from minified code with external dependencies

    @angular/ssr

    Commit Description
    replace all route parameters when resolving relative redirects
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    df49966c6 fix fallback to build target preserveSymlinks option in karma runner
    9906add5b fix prevent externalizing builder-injected i18n locale data
    070155f6e fix strip all vite id prefixes from minified code with external dependencies

    @angular/ssr

    Commit Type Description
    c9aa354b1 fix replace all route parameters when resolving relative redirects

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.5"></a>

    Open source →
  24. 22.0.51 Jul 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    remove unused app tsconfig outDir

    @angular/cli

    Commit Description
    gracefully handle package manager errors in command handler
    respect release age policy in update bootstrapping logic

    @angular-devkit/build-angular

    Commit Description
    prevent OS command injection in ssr-dev-server builder

    @angular/build

    Commit Description
    auto-inject localize/init in library unit tests
    inherit preserveSymlinks option from build target in unit-test builder
    load zone.js dynamically for library unit tests
    scope createRequire module resolution using paths to prevent parent paths

    @angular/ssr

    Commit Description
    preserve response headers during redirect
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    f099e641c fix gracefully handle package manager errors in command handler
    cf033ec48 fix respect release age policy in update bootstrapping logic

    @schematics/angular

    Commit Type Description
    862a38069 fix remove unused app tsconfig outDir

    @angular-devkit/build-angular

    Commit Type Description
    f75085f4b fix prevent OS command injection in ssr-dev-server builder

    @angular/build

    Commit Type Description
    dfee1e7b1 fix auto-inject localize/init in library unit tests
    aba718403 fix inherit preserveSymlinks option from build target in unit-test builder
    7c0d9f03c fix load zone.js dynamically for library unit tests
    4288e4452 fix scope createRequire module resolution using paths to prevent parent paths

    @angular/ssr

    Commit Type Description
    5f774f891 fix preserve response headers during redirect

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.18"></a>

    Open source →
  25. 22.0.424 Jun 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/build

    Commit Description
    aggregate parallel worker performance timings on the main thread
    dispose builder result context early in non-watch mode
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    46185ceac fix aggregate parallel worker performance timings on the main thread
    5d7e29c41 perf dispose builder result context early in non-watch mode

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.17"></a>

    Open source →
  26. 22.0.318 Jun 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    remove default workspace vscode mcp.json configuration
    Open source →
    Additional notes

    @schematics/angular

    Commit Type Description
    0eddea898 fix remove default workspace vscode mcp.json configuration

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.16"></a>

    Open source →
  27. 22.0.217 Jun 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    support registry metadata fetching under bun package manager
    implement semaphore backpressure throttling in PackageManager

    @angular/build

    Commit Description
    implement semaphore backpressure throttling in JavaScriptTransformer

    @angular/ssr

    Commit Description
    avoid caching non-SSG page lookups
    correct grammar in console warning for redirected location headers
    prioritize options over environment variables in AngularNodeAppEngine
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    136fc2714 fix support registry metadata fetching under bun package manager
    2653dd5c7 perf implement semaphore backpressure throttling in PackageManager

    @angular/build

    Commit Type Description
    0b4a48add perf implement semaphore backpressure throttling in JavaScriptTransformer

    @angular/ssr

    Commit Type Description
    d996a27e9 fix avoid caching non-SSG page lookups
    285a34e42 fix correct grammar in console warning for redirected location headers
    c8088a536 fix prioritize options over environment variables in AngularNodeAppEngine

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.28"></a>

    Open source →
  28. 22.0.110 Jun 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    fix browserMode option mapping in refactor-jasmine-vitest
    safely comment out multiline statements in refactor-jasmine-vitest
    use null objects and callbacks in karma-to-vitest migration

    @angular/cli

    Commit Description
    do not sort migrations of the same version alphabetically
    fallback to local package.json for schematic detection on first run
    isolate temporary package installation from parent pnpm workspace
    remove forceAuth and unscoped credential parsing
    validate registry option is a valid URL in ng add
    optimize update schematic registry query counts by fetching package metadata lazily

    @angular/build

    Commit Description
    allow disabling Vitest isolation from builder
    exclude JSON imports from Vite dependency optimization
    prevent concurrent stylesheet bundling esbuild context leaks
    restrict application builder output paths to output directory
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    b54e9a549 fix do not sort migrations of the same version alphabetically
    d33311612 fix fallback to local package.json for schematic detection on first run
    918102a93 fix isolate temporary package installation from parent pnpm workspace
    b048b5f4a fix remove forceAuth and unscoped credential parsing
    277934035 fix validate registry option is a valid URL in ng add
    4510dae02 perf optimize update schematic registry query counts by fetching package metadata lazily

    @schematics/angular

    Commit Type Description
    c80012294 fix fix browserMode option mapping in refactor-jasmine-vitest
    a9b6bd904 fix safely comment out multiline statements in refactor-jasmine-vitest
    12199df00 fix use null objects and callbacks in karma-to-vitest migration

    @angular/build

    Commit Type Description
    89d1be979 fix allow disabling Vitest isolation from builder
    d45b84be9 fix exclude JSON imports from Vite dependency optimization
    e3cab4ddd fix prevent concurrent stylesheet bundling esbuild context leaks
    bd413b0eb fix restrict application builder output paths to output directory

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.0"></a>

    Open source →
  29. 22.0.03 Jun 2026withdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    add migrate-karma-to-vitest update migration
    add migration to add istanbul-lib-instrument
    conditionally install istanbul coverage provider for Vitest migration
    migrate fake async to Vitest fake timers
    migrate fakeAsync's flush behavior when used in beforeEach
    rely on strict template default in generated workspaces
    set up fake timers in beforeEach instead of beforeAll
    stabilize refactor-jasmine-vitest schematic
    update TSConfig globals during karma to vitest migration
    add istanbul-lib-instrument to application/library generator dependencies
    add trusted-proxy-headers migration
    default components to OnPush change detection
    defer karma config deletion in Karma to Vitest migration
    preserve Jasmine stub-by-default semantics for bare spies
    replace deprecated ChangeDetectionStrategy.Default with Eager
    support spy call arguments migration in refactor-jasmine-vitest
    use service decorator in ng generate

    @angular/cli

    Commit Description
    add support for Node.js 26.0.0
    reflect new minimum supported Node version in ng.js
    update odd-numbered Node.js version warning condition for future releases
    update zoneless migration tool to handle ChangeDetectionStrategy.Eager
    cache root manifest and resolve restricted package exports in ng add

    Commit Description
    update minimum supported Node.js versions
    remove @angular-devkit/architect-cli package
    remove experimental Jest and Web Test Runner builders

    @angular-devkit/build-angular

    Commit Description
    deprecate Webpack builders

    @angular-devkit/build-webpack

    Commit Description
    deprecate webpack and webpack-dev-server builders

    @angular/build

    Commit Description
    add isolate option to unit-test builder
    add process.env.PORT support to the dev server
    add quiet option to suppress build noise in unit tests
    enable chunk optimization by default with heuristics
    move istanbul-lib-instrument to optional peer dependency
    rename experimentalPlatform to platform in application builder
    subresource integrity validation for dynamically loaded modules
    support Istanbul coverage in Vitest runner
    support runtime Zone.js detection in Vitest unit test runner
    allow configuring Access-Control-Allow-Origin via headers option
    use dynamic TestComponentRenderer for Vitest

    @angular/ssr

    Commit Description
    enforce explicit opt-in for proxy headers
    support all X-Forwarded-* headers when trustProxyHeaders is true
    support server-side rendering configuration options
    deprecate CommonEngine APIs
    remove CSR fallback for invalid hosts

    @ngtools/webpack

    Commit Description
    deprecate @ngtools/webpack loader and plugin

    Breaking Changes

    • Node.js v20 is no longer supported. The minimum supported Node.js versions are now v22.22.0 and v24.13.1.
    • The @angular-devkit/architect-cli package is no longer available. The architect CLI tool has been moved to the @angular-devkit/architect package.
    • The experimental @angular-devkit/build-angular:jest and @angular-devkit/build-angular:web-test-runner builders have been removed.

    @angular/build

    • The @angular/build:dev-server (ng serve) now assigns the highest priority to the PORT environment variable. This value will override any port configurations specified in angular.json or via the --port command-line flag. This includes the default port 4200.
    • istanbul-lib-instrument is now an optional peer dependency. Projects using karma with code coverage enabled will need to ensure that istanbul-lib-instrument is installed. Note: ng update will automatically add this dependency during the update process.

    @angular/ssr

    • The server no longer falls back to Client-Side Rendering (CSR) when a request fails host validation. Requests with unrecognized 'Host' headers will now return a 400 Bad Request status code. Users must ensure all valid hosts are correctly configured in the 'allowedHosts' option.

    Deprecations

    @angular-devkit/build-angular

    • Webpack builders in build-angular are deprecated. Use @angular/build builders instead.

    @angular-devkit/build-webpack

    • Webpack builders in build-webpack are deprecated. Use @angular/build builders instead.

    @angular/ssr

    • CommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.

    @ngtools/webpack

    • @ngtools/webpack loader and plugin are deprecated. Use @angular/build instead.
    Open source →
    Additional notes

    Breaking Changes

    • Node.js v20 is no longer supported. The minimum supported Node.js versions are now v22.22.0 and v24.13.1.
    • The @angular-devkit/architect-cli package is no longer available. The architect CLI tool has been moved to the @angular-devkit/architect package.
    • The experimental @angular-devkit/build-angular:jest and @angular-devkit/build-angular:web-test-runner builders have been removed.

    @angular/build

    • The @angular/build:dev-server (ng serve) now assigns the highest priority to the PORT environment variable. This value will override any port configurations specified in angular.json or via the --port command-line flag. This includes the default port 4200.
    • istanbul-lib-instrument is now an optional peer dependency. Projects using karma with code coverage enabled will need to ensure that istanbul-lib-instrument is installed. Note: ng update will automatically add this dependency during the update process.

    @angular/ssr

    • The server no longer falls back to Client-Side Rendering (CSR) when a request fails host validation. Requests with unrecognized 'Host' headers will now return a 400 Bad Request status code. Users must ensure all valid hosts are correctly configured in the 'allowedHosts' option.

    Deprecations

    @angular-devkit/build-angular

    • Webpack builders in build-angular are deprecated. Use @angular/build builders instead.

    @angular-devkit/build-webpack

    • Webpack builders in build-webpack are deprecated. Use @angular/build builders instead.

    @angular/ssr

    • CommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.

    @ngtools/webpack

    • @ngtools/webpack loader and plugin are deprecated. Use @angular/build instead.

    @angular/cli

    Commit Type Description
    58c0978f6 feat add support for Node.js 26.0.0
    a5c7c0b5f fix reflect new minimum supported Node version in ng.js
    a5e1e48db fix update odd-numbered Node.js version warning condition for future releases
    93c3eb8fb fix update zoneless migration tool to handle ChangeDetectionStrategy.Eager
    a39a33128 perf cache root manifest and resolve restricted package exports in ng add

    @schematics/angular

    Commit Type Description
    be60a63b7 feat add migrate-karma-to-vitest update migration
    43505066e feat add migration to add istanbul-lib-instrument
    b2f7a038b feat conditionally install istanbul coverage provider for Vitest migration
    d227e6985 feat migrate fake async to Vitest fake timers
    d2aa9ede5 feat migrate fakeAsync's flush behavior when used in beforeEach
    f98cc82eb feat rely on strict template default in generated workspaces
    c9f408153 feat set up fake timers in beforeEach instead of beforeAll
    de630c2fc feat stabilize refactor-jasmine-vitest schematic
    8d0805dd1 feat update TSConfig globals during karma to vitest migration
    470e1f937 fix add istanbul-lib-instrument to application/library generator dependencies
    dc1238e5a fix add trusted-proxy-headers migration
    6572a6944 fix default components to OnPush change detection
    aed407db8 fix defer karma config deletion in Karma to Vitest migration
    4fbc60891 fix preserve Jasmine stub-by-default semantics for bare spies
    b3d838dfd fix replace deprecated ChangeDetectionStrategy.Default with Eager
    a7ac8e5f0 fix support spy call arguments migration in refactor-jasmine-vitest
    7fb59eaa6 fix use service decorator in ng generate

    Commit Type Description
    d0e9e8163 build update minimum supported Node.js versions
    1f21e89d9 refactor remove @angular-devkit/architect-cli package
    b4885b851 refactor remove experimental Jest and Web Test Runner builders

    @angular-devkit/build-angular

    Commit Type Description
    b7940dbcb refactor deprecate Webpack builders

    @angular-devkit/build-webpack

    Commit Type Description
    3d5daa45e refactor deprecate webpack and webpack-dev-server builders

    @angular/build

    Commit Type Description
    e9aa7967b feat add isolate option to unit-test builder
    fe720cab6 feat add process.env.PORT support to the dev server
    0781f7498 feat add quiet option to suppress build noise in unit tests
    cd2ad3c19 feat enable chunk optimization by default with heuristics
    3007f46b7 feat move istanbul-lib-instrument to optional peer dependency
    af2c7e944 feat rename experimentalPlatform to platform in application builder
    58c7c7a9d feat subresource integrity validation for dynamically loaded modules
    73233dc5f feat support Istanbul coverage in Vitest runner
    414320d02 feat support runtime Zone.js detection in Vitest unit test runner
    b85ec6798 fix allow configuring Access-Control-Allow-Origin via headers option
    edfa782d5 fix use dynamic TestComponentRenderer for Vitest

    @angular/ssr

    Commit Type Description
    5adc92541 fix enforce explicit opt-in for proxy headers
    f85343925 fix support all X-Forwarded-* headers when trustProxyHeaders is true
    8471ba634 fix support server-side rendering configuration options
    50b16a65b refactor deprecate CommonEngine APIs
    27cd35561 refactor remove CSR fallback for invalid hosts

    @ngtools/webpack

    Commit Type Description
    547ca515b refactor deprecate @ngtools/webpack loader and plugin

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.14"></a>

    Open source →
  30. 22.0.0-rc.31 Jun 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    preserve Jasmine stub-by-default semantics for bare spies

    @angular/cli

    Commit Description
    expand package groups for newly added peer dependencies in update schematic

    @angular/build

    Commit Description
    prevent esbuild service child process leakage

    @angular/ssr

    Commit Description
    support server-side rendering configuration options
    Open source →
  31. 22.0.0-rc.228 May 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular-devkit/build-angular

    Commit Description
    remove unconditional CORS wildcard from webpack dev-server
    Open source →
  32. 22.0.0-rc.121 May 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @schematics/angular

    Commit Description
    support spy call arguments migration in refactor-jasmine-vitest

    @angular/build

    Commit Description
    assert that asset input paths are within workspace root
    ignore virtual esbuild paths with (disabled):
    Open source →
  33. 22.0.0-rc.013 May 2026pre-releasewithdrawn: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.
    Release notes

    @angular/cli

    Commit Description
    add support for Node.js 26.0.0
    restrict MCP workspace access to allowed client roots during resolution
    update odd-numbered Node.js version warning condition for future releases

    @schematics/angular

    Commit Description
    conditionally install istanbul coverage provider for Vitest migration
    migrate fake async to Vitest fake timers
    migrate fakeAsync's flush behavior when used in beforeEach
    set up fake timers in beforeEach instead of beforeAll
    update TSConfig globals during karma to vitest migration
    defer karma config deletion in Karma to Vitest migration
    use service decorator in ng generate

    @angular-devkit/build-angular

    Commit Description
    deprecate Webpack builders

    @angular-devkit/build-webpack

    Commit Description
    deprecate webpack and webpack-dev-server builders

    @angular/build

    Commit Description
    subresource integrity validation for dynamically loaded modules
    use dynamic TestComponentRenderer for Vitest

    @angular/ssr

    Commit Description
    remove stateful flag from URL_PARAMETER_REGEXP
    support all X-Forwarded-* headers when trustProxyHeaders is true
    deprecate CommonEngine APIs

    @ngtools/webpack

    Commit Description
    deprecate @ngtools/webpack loader and plugin

    Deprecations

    @angular-devkit/build-angular

    • Webpack builders in build-angular are deprecated. Use @angular/build builders instead.

    @angular-devkit/build-webpack

    • Webpack builders in build-webpack are deprecated. Use @angular/build builders instead.

    @angular/ssr

    • CommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.

    @ngtools/webpack

    • @ngtools/webpack loader and plugin are deprecated. Use @angular/build instead.
    Open source →
  34. 22.0.0-next.811 May 2026pre-release
    Release notes

    @angular/cli

    Commit Description
    add support for Node.js 26.0.0
    restrict MCP workspace access to allowed client roots during resolution
    robustly parse npm manifest from array
    update odd-numbered Node.js version warning condition for future releases

    @schematics/angular

    Commit Description
    conditionally install istanbul coverage provider for Vitest migration
    migrate fake async to Vitest fake timers
    migrate fakeAsync's flush behavior when used in beforeEach
    set up fake timers in beforeEach instead of beforeAll
    update TSConfig globals during karma to vitest migration
    defer karma config deletion in Karma to Vitest migration
    use service decorator in ng generate

    @angular-devkit/build-angular

    Commit Description
    deprecate Webpack builders

    @angular-devkit/build-webpack

    Commit Description
    deprecate webpack and webpack-dev-server builders

    @angular-devkit/core

    Commit Description
    deprecate stringToFileBuffer and fileBufferToString

    @angular/build

    Commit Description
    subresource integrity validation for dynamically loaded modules
    use dynamic TestComponentRenderer for Vitest

    @angular/ssr

    Commit Description
    deprecate CommonEngine APIs

    @ngtools/webpack

    Commit Description
    deprecate @ngtools/webpack loader and plugin

    Deprecations

    @angular-devkit/build-angular

    • Webpack builders in build-angular are deprecated. Use @angular/build builders instead.

    @angular-devkit/build-webpack

    • Webpack builders in build-webpack are deprecated. Use @angular/build builders instead.

    @angular-devkit/core

    • stringToFileBuffer and fileBufferToString are deprecated. Use standard Web APIs (TextEncoder and TextDecoder) instead.

      Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for @angular-devkit/core has been updated to reflect the deprecations.

    @angular/ssr

    • CommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.

    @ngtools/webpack

    • @ngtools/webpack loader and plugin are deprecated. Use @angular/build instead.
    Open source →
  35. 22.0.0-next.729 Apr 2026pre-release
    Release notes

    @schematics/angular

    Commit Description
    add missing imports for focus and skip APIs in refactor-jasmine-vitest
    add trusted-proxy-headers migration

    @angular/cli

    Commit Description
    fix broken img ref in ai-tutor
    introduce initial package manager workspace awareness
    remove standalone true ref in ai tutor

    @angular/build

    Commit Description
    add isolate option to unit-test builder
    support Istanbul coverage in Vitest runner

    @angular/ssr

    Commit Description
    add support for configuring trusted proxy headers via environment variable
    decode route segments when building and matching route tree
    enforce explicit opt-in for proxy headers
    use router to normalize URLs for comparison
    Open source →
  36. 22.0.0-next.622 Apr 2026pre-release
    Release notes

    @schematics/angular

    Commit Description
    stabilize refactor-jasmine-vitest schematic

    @angular/cli

    Commit Description
    dynamically resolve project Angular CLI executable inside MCP tools
    ignore EBADF file system errors during MCP project scan
    use headless option in MCP test tool

    @angular-devkit/build-angular

    Commit Description
    ensure route has leading slash in prerender builder
    fix app-shell route format and

    @angular/build

    Commit Description
    add quiet option to suppress build noise in unit tests
    enable chunk optimization by default with heuristics
    allow configuring Access-Control-Allow-Origin via headers option
    use rootDir for HMR component updates path resolution
    validate V8 coverage support for browsers in Vitest
    Open source →
  37. 22.0.0-next.58 Apr 2026pre-release
    Release notes

    @angular/cli

    Commit Description
    handle missing package manager during analytics initialization

    @schematics/angular

    Commit Description
    add migrate-karma-to-vitest update migration
    add migration to add istanbul-lib-instrument
    add istanbul-lib-instrument to application/library generator dependencies

    @angular/build

    Commit Description
    move istanbul-lib-instrument to optional peer dependency
    preserve coverage ignore comments in development
    show clear error when styleUrl points to a TypeScript file

    Breaking Changes

    @angular/build

    • istanbul-lib-instrument is now an optional peer dependency. Projects using karma with code coverage enabled will need to ensure that istanbul-lib-instrument is installed. Note: ng update will automatically add this dependency during the update process.
    Open source →
  38. 22.0.0-next.41 Apr 2026pre-release
    Release notes

    @angular/cli

    Commit Description
    support custom port in MCP devserver start tool
    fix sourceRoot resolution for MCP projects tool

    @angular/build

    Commit Description
    ensure transitive SCSS partial errors are tracked in watch mode
    ensure Vitest mock patching is executed only once
    preserve error stack traces during prerendering
    scope CHROME_BIN executable path to individual playwright instances

    @angular/ssr

    Commit Description
    allow underscores in host validation
    patch Headers.forEach in cloneRequestAndPatchHeaders
    Open source →
  39. 22.0.0-next.326 Mar 2026pre-release
    Release notes

    @schematics/angular

    Commit Description
    rely on strict template default in generated workspaces

    @angular/cli

    Commit Description
    restore console methods after logger completes

    @angular/build

    Commit Description
    deduplicate and merge coverage excludes with vitest
    prevent reporter duplicates by explicitly overriding Vitest configuration
    remove default for unit-test coverage option
    warn about performance of test.exclude in vitest configuration
    warn when vitest watch config conflicts with builder

    @angular/ssr

    Commit Description
    apply forwarded prefix and vary header in accept-language redirects
    support '*' in allowedHosts and warn about security risks
    Open source →
  40. 22.0.0-next.218 Mar 2026pre-release
    Release notes

    @schematics/angular

    Commit Description
    default components to OnPush change detection

    @angular/cli

    Commit Description
    use parsed package name for migrate-only updates

    @angular/build

    Commit Description
    alias createRequire banner import to avoid duplicate binding
    only use external packages for polyfills when no local files are present

    @angular/ssr

    Commit Description
    disallow x-forwarded-prefix starting with a backslash
    ensure unique values in redirect response Vary header
    support custom headers in redirect responses
    Open source →
  41. 22.0.0-next.111 Mar 2026pre-release
    Release notes

    @angular/cli

    Commit Description
    conditionally quote package names when adding dependencies based on host requirements
    preserve exact version in ng add when requested
    update zoneless migration tool to handle ChangeDetectionStrategy.Eager
    avoid redundant package version resolution in ng add
    cache root manifest and resolve restricted package exports in ng add

    @schematics/angular

    Commit Description
    replace deprecated ChangeDetectionStrategy.Default with Eager

    @angular/build

    Commit Description
    add process.env.PORT support to the dev server
    rename experimentalPlatform to platform in application builder
    normalize line endings for CSP hash generation
    pass process environment variables to prerender workers
    resolve assets correctly during i18n prerendering

    Breaking Changes

    @angular/build

    • The @angular/build:dev-server (ng serve) now assigns the highest priority to the PORT environment variable. This value will override any port configurations specified in angular.json or via the --port command-line flag. This includes the default port 4200.
    Open source →
  42. 22.0.0-next.05 Mar 2026pre-release
    Release notes

    @angular/cli

    Commit Description
    reflect new minimum supported Node version in ng.js

    Commit Description
    update minimum supported Node.js versions
    remove @angular-devkit/architect-cli package
    remove experimental Jest and Web Test Runner builders

    @angular/build

    Commit Description
    support runtime Zone.js detection in Vitest unit test runner
    allow any CHROME_BIN for vitest playwright provider

    @angular/ssr

    Commit Description
    remove CSR fallback for invalid hosts

    Breaking Changes

    • Node.js v20 is no longer supported. The minimum supported Node.js versions are now v22.22.0 and v24.13.1.
    • The @angular-devkit/architect-cli package is no longer available. The architect CLI tool has been moved to the @angular-devkit/architect package.
    • The experimental @angular-devkit/build-angular:jest and @angular-devkit/build-angular:web-test-runner builders have been removed.

    @angular/ssr

    • The server no longer falls back to Client-Side Rendering (CSR) when a request fails host validation. Requests with unrecognized 'Host' headers will now return a 400 Bad Request status code. Users must ensure all valid hosts are correctly configured in the 'allowedHosts' option.
    Open source →
  43. 21.2.2226 Aug 2026
    Release notes

    @angular-devkit/build-angular

    Commit Description
    update webpack-dev-server to 5.2.6
    Open source →
    Additional notes

    @angular-devkit/build-angular

    Commit Type Description
    b0047b04f5 fix update webpack-dev-server to 5.2.6

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.35"></a>

    Open source →
  44. 21.2.2112 Aug 2026
    Release notes

    @angular/cli

    Commit Description
    update dependency @modelcontextprotocol/sdk to v1.30.0

    @angular/build

    Commit Description
    bump undici to 7.29.0
    Open source →
    Additional notes

    @angular/cli

    Commit Description
    update dependency @modelcontextprotocol/sdk to v1.30.0

    @angular/build

    Commit Description
    bump undici to 7.29.0
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    ba5d16cac fix update dependency @modelcontextprotocol/sdk to v1.30.0

    @angular/build

    Commit Type Description
    f7f60e69e fix bump undici to 7.29.0

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.34"></a>

    Open source →
  45. 21.2.205 Aug 2026
    Release notes

    @angular-devkit/build-angular

    Commit Description
    upgrade postcss to 8.5.23

    @angular/build

    Commit Description
    upgrade postcss to 8.5.23
    Open source →
    Additional notes

    @angular-devkit/build-angular

    Commit Description
    upgrade postcss to 8.5.23

    @angular/build

    Commit Description
    upgrade postcss to 8.5.23
    Open source →
    Additional notes

    @angular-devkit/build-angular

    Commit Type Description
    972f6db7e9 fix upgrade postcss to 8.5.23

    @angular/build

    Commit Type Description
    8de75ada50 fix upgrade postcss to 8.5.23

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.33"></a>

    Open source →
  46. 21.2.199 Jul 2026
    Release notes

    @angular-devkit/build-angular

    Commit Description
    update http-proxy-middleware to 3.0.7
    Open source →
    Additional notes

    @angular-devkit/build-angular

    Commit Type Description
    df5429871 fix update http-proxy-middleware to 3.0.7

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.32"></a>

    Open source →
  47. 21.2.181 Jul 2026
    Release notes

    @angular/cli

    Commit Description
    respect release age policy in update bootstrapping logic

    @angular/build

    Commit Description
    bump undici to 7.28.0
    bump vite to 7.3.6
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    61a810ab6 fix respect release age policy in update bootstrapping logic

    @angular/build

    Commit Type Description
    a2b6116ed fix bump undici to 7.28.0
    2510ee3c9 fix bump vite to 7.3.6

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.31"></a>

    Open source →
  48. 21.2.1724 Jun 2026
    Release notes

    @angular/build

    Commit Description
    bump @babel/core to 7.29.7
    bump esbuild to 0.28.1
    bump piscina to 5.2.0
    bump vite to 7.3.5
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    9c366e8be fix bump @babel/core to 7.29.7
    6a06ce9e9 fix bump esbuild to 0.28.1
    637b84877 fix bump piscina to 5.2.0
    e86d58a12 fix bump vite to 7.3.5

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.30"></a>

    Open source →
  49. 21.2.1617 Jun 2026
    Release notes

    @angular/cli

    Commit Description
    update pacote to 21.5.1

    @angular/ssr

    Commit Description
    prioritize options over environment variables in AngularNodeAppEngine
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    77c9047ac fix update pacote to 21.5.1

    @angular/ssr

    Commit Type Description
    d052e97da fix prioritize options over environment variables in AngularNodeAppEngine

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.29"></a>

    Open source →
  50. 21.2.1511 Jun 2026
    Release notes

    @angular/cli

    Commit Description
    remove forceAuth and unscoped credential parsing
    support registry metadata fetching under bun package manager
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    42ac0ed0f fix remove forceAuth and unscoped credential parsing
    c7a7f1955 fix support registry metadata fetching under bun package manager

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.1"></a>

    Open source →
  51. 21.2.143 Jun 2026
    Release notes

    @angular/cli

    Commit Description
    expand package groups for newly added peer dependencies in update schematic

    @angular/build

    Commit Description
    prevent esbuild service child process leakage
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    aed448748 fix expand package groups for newly added peer dependencies in update schematic

    @angular/build

    Commit Type Description
    d46c082fb fix prevent esbuild service child process leakage

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.27"></a>

    Open source →
  52. 21.2.1327 May 2026
    Release notes

    @angular-devkit/build-angular

    Commit Description
    remove unconditional CORS wildcard from webpack dev-server

    @angular/build

    Commit Description
    assert that asset input paths are within workspace root
    Open source →
    Additional notes

    @angular-devkit/build-angular

    Commit Type Description
    3c6d26a31 fix remove unconditional CORS wildcard from webpack dev-server

    @angular/build

    Commit Type Description
    2b3e95517 fix assert that asset input paths are within workspace root

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.12"></a>

    Open source →
  53. 21.2.1220 May 2026
    Release notes

    @angular/build

    Commit Description
    ignore virtual esbuild paths with (disabled):
    Open source →
    Additional notes

    @angular/build

    Commit Type Description
    cbad57579 fix ignore virtual esbuild paths with (disabled):

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.11"></a>

    Open source →
  54. 21.2.1113 May 2026
    Release notes

    @angular/cli

    Commit Description
    robustly parse npm manifest from array

    @angular/ssr

    Commit Description
    allow all hosts in common engine rendering options to prevent validation errors
    remove stateful flag from URL_PARAMETER_REGEXP
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    bbd63b7a5 fix robustly parse npm manifest from array

    @angular/ssr

    Commit Type Description
    eafe1a719 fix allow all hosts in common engine rendering options to prevent validation errors
    7a116a80d fix remove stateful flag from URL_PARAMETER_REGEXP

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.26"></a>

    Open source →
  55. 21.2.106 May 2026
    Release notes

    @angular/cli

    Commit Description
    restrict MCP workspace access to allowed client roots during resolution
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    bb8611913 fix restrict MCP workspace access to allowed client roots during resolution

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="19.2.25"></a>

    Open source →
  56. 21.2.929 Apr 2026
    Release notes

    @schematics/angular

    Commit Description
    add missing imports for focus and skip APIs in refactor-jasmine-vitest

    @angular/cli

    Commit Description
    fix broken img ref in ai-tutor
    introduce initial package manager workspace awareness
    remove standalone true ref in ai tutor

    @angular/ssr

    Commit Description
    introduce trustProxyHeaders option to safely validate and sanitize proxy headers
    add support for configuring trusted proxy headers via environment variable
    decode route segments when building and matching route tree
    use router to normalize URLs for comparison
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    233deef01 fix fix broken img ref in ai-tutor
    7cea9885c fix introduce initial package manager workspace awareness
    5b1a5b743 fix remove standalone true ref in ai tutor

    @schematics/angular

    Commit Type Description
    e7abeb5c7 fix add missing imports for focus and skip APIs in refactor-jasmine-vitest

    @angular/ssr

    Commit Type Description
    94023f62c fix introduce trustProxyHeaders option to safely validate and sanitize proxy headers
    5ffe5c309 fix add support for configuring trusted proxy headers via environment variable
    930ada9b7 fix decode route segments when building and matching route tree
    0dc8a440c fix use router to normalize URLs for comparison

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.25"></a>

    Open source →
  57. 21.2.822 Apr 2026
    Release notes

    @angular/cli

    Commit Description
    dynamically resolve project Angular CLI executable inside MCP tools
    ignore EBADF file system errors during MCP project scan
    use headless option in MCP test tool

    @angular-devkit/build-angular

    Commit Description
    ensure route has leading slash in prerender builder
    fix app-shell route format and

    @angular/build

    Commit Description
    use rootDir for HMR component updates path resolution
    validate V8 coverage support for browsers in Vitest
    Open source →
  58. 21.2.78 Apr 2026
    Release notes

    @angular/cli

    Commit Description
    handle missing package manager during analytics initialization

    @angular/build

    Commit Description
    preserve coverage ignore comments in development
    show clear error when styleUrl points to a TypeScript file
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    971041aa1 fix handle missing package manager during analytics initialization

    @angular/build

    Commit Type Description
    365cce81d fix preserve coverage ignore comments in development
    9f74660c3 fix show clear error when styleUrl points to a TypeScript file

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.23"></a>

    Open source →
  59. 21.2.61 Apr 2026
    Release notes

    @angular/cli

    Commit Description
    fix sourceRoot resolution for MCP projects tool

    @angular/build

    Commit Description
    ensure transitive SCSS partial errors are tracked in watch mode
    ensure Vitest mock patching is executed only once
    preserve error stack traces during prerendering
    scope CHROME_BIN executable path to individual playwright instances
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    ea14f28cc fix fix sourceRoot resolution for MCP projects tool

    @angular/build

    Commit Type Description
    9136eb376 fix ensure transitive SCSS partial errors are tracked in watch mode
    8186faa11 fix ensure Vitest mock patching is executed only once
    107d1a9e2 fix preserve error stack traces during prerendering
    b7f457253 fix scope CHROME_BIN executable path to individual playwright instances

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.5"></a>

    Open source →
  60. 21.2.527 Mar 2026
    Release notes

    @angular/cli

    Commit Description
    support custom port in MCP devserver start tool

    @angular/ssr

    Commit Description
    allow underscores in host validation
    patch Headers.forEach in cloneRequestAndPatchHeaders
    Open source →
    Additional notes

    @angular/cli

    Commit Type Description
    cadf9b201 feat support custom port in MCP devserver start tool

    @angular/ssr

    Commit Type Description
    bbc255419 fix allow underscores in host validation
    b1fe66a7f fix patch Headers.forEach in cloneRequestAndPatchHeaders

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.22"></a>

    Open source →