PackageTrack

npm · #3838

@angular/core

22.1.4angular/angular

Angular - the core framework

Release timeline

1101 releases since 2016
20182020202220242026

Releases

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

    animations

    Commit Description
    detect object trigger values with Object.hasOwn

    common

    Commit Description
    preserve literal key union in KeyValuePipe.transform()

    compiler

    Commit Description
    allow template to access private props
    preserve &ngsp; between sibling control flow blocks

    core

    Commit Description
    accept readonly arrays for setClassMetadata decorators
    allow readonly arrays in RawScopeInfoFromDecorator
    expose debuggableFn for non-computed signal graph nodes
    prevent orphaned requestIdleCallback handle from re-entrant scheduling
    replace all hasOwnProperty usages with Object.hasOwn
    stop running further effects once one destroys the view mid-flush
    throw a descriptive error instead of crashing when a hydration node is missing
    throw NG0500 instead of a raw TypeError on element hydration mismatch

    forms

    Commit Description
    report forbidden 2way bindings on when FormField is applied
    warn in dev mode when ngModel cannot reach parent NgForm across component boundary

    http

    Commit Description
    cancel oversized fetch response bodies

    language-server

    Commit Description
    recover project for external templates in solution-style workspaces

    platform-browser

    Commit Description
    disallow event handler attributes in Meta
    throw a descriptive error when insertBefore reference node is missing

    router

    Commit Description
    add containsTree as public API
    pass correct component to canDeactivate for named outlets in componentless parent routes
    Open source →
    Additional notes

    animations

    Commit Type Description
    c73a001fbf fix detect object trigger values with Object.hasOwn

    common

    Commit Type Description
    46d2cb7ff0 fix preserve literal key union in KeyValuePipe.transform()

    compiler

    Commit Type Description
    48a0fd6e8a feat allow template to access private props

    core

    Commit Type Description
    dc65e3656f fix accept readonly arrays for setClassMetadata decorators
    eee9ef4d09 fix allow readonly arrays in RawScopeInfoFromDecorator
    0ddbc47e7f fix expose debuggableFn for non-computed signal graph nodes
    c2b14b7ab4 fix prevent orphaned requestIdleCallback handle from re-entrant scheduling
    732e505018 fix replace all hasOwnProperty usages with Object.hasOwn
    c658d73210 fix stop running further effects once one destroys the view mid-flush
    c6e4a36be1 fix throw a descriptive error instead of crashing when a hydration node is missing
    4560f4fdcd fix throw NG0500 instead of a raw TypeError on element hydration mismatch

    forms

    Commit Type Description
    c819880b91 fix report forbidden 2way bindings on when FormField is applied
    38d093232c fix warn in dev mode when ngModel cannot reach parent NgForm across component boundary

    http

    Commit Type Description
    1a006a8f97 fix cancel oversized fetch response bodies

    language-server

    Commit Type Description
    3f8d9d6ea6 fix recover project for external templates in solution-style workspaces

    platform-browser

    Commit Type Description
    6f9a6bea50 fix disallow event handler attributes in Meta
    1cb3d606bf fix throw a descriptive error when insertBefore reference node is missing

    router

    Commit Type Description
    2720362818 feat add containsTree as public API
    f1a4c85212 fix pass correct component to canDeactivate for named outlets in componentless parent routes

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  2. 22.2.0-next.213 Aug 2026pre-release
    Release notes

    compiler

    Commit Description
    do not encapsulate nested selectors if parent contains ::ng-deep
    Generate correct expression for optional chaning.
    remove namespaced MathML script elements
    scope nested CSS rules

    compiler-cli

    Commit Description
    correctly resolve symbol for SafePropertyRead in chained optional navigation
    record class extends clause references in DeferredSymbolTracker

    core

    Commit Description
    ensure i18n_util hasOwnProperty checks are safe for property renaming
    incorrect loop in defer blocks
    reject prefixed SVG script hosts

    forms

    Commit Description
    keep radio inputs in sync when values change

    http

    Commit Description
    always decode JSON responses as UTF-8

    router

    Commit Description
    allow throwing RedirectCommand to trigger redirects
    limit protocol-relative URL handling to serialization
    Open source →
    Additional notes

    compiler

    Commit Description
    do not encapsulate nested selectors if parent contains ::ng-deep
    Generate correct expression for optional chaning.
    remove namespaced MathML script elements
    scope nested CSS rules

    compiler-cli

    Commit Description
    correctly resolve symbol for SafePropertyRead in chained optional navigation
    record class extends clause references in DeferredSymbolTracker

    core

    Commit Description
    ensure i18n_util hasOwnProperty checks are safe for property renaming
    incorrect loop in defer blocks
    reject prefixed SVG script hosts

    forms

    Commit Description
    keep radio inputs in sync when values change

    http

    Commit Description
    always decode JSON responses as UTF-8

    router

    Commit Description
    allow throwing RedirectCommand to trigger redirects
    limit protocol-relative URL handling to serialization
    Open source →
    Additional notes

    compiler

    Commit Type Description
    a4f1a94948 fix do not encapsulate nested selectors if parent contains ::ng-deep
    d7b03f5523 fix Generate correct expression for optional chaning.
    107f6fa49d fix remove namespaced MathML script elements
    d0d7f57e08 fix scope nested CSS rules

    compiler-cli

    Commit Type Description
    e8aa222e7d fix correctly resolve symbol for SafePropertyRead in chained optional navigation
    8d6c925392 fix record class extends clause references in DeferredSymbolTracker

    core

    Commit Type Description
    8925a4ee49 fix ensure i18n_util hasOwnProperty checks are safe for property renaming
    565dbb2fe5 fix incorrect loop in defer blocks
    9f8e32616b fix reject prefixed SVG script hosts

    forms

    Commit Type Description
    9e37a58e14 fix keep radio inputs in sync when values change

    http

    Commit Type Description
    09bc90003e fix always decode JSON responses as UTF-8

    router

    Commit Type Description
    b65dea4f03 feat allow throwing RedirectCommand to trigger redirects
    435f8b2b8b fix limit protocol-relative URL handling to serialization

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  3. 22.2.0-next.17 Aug 2026pre-release
    Release notes

    core

    Commit Description
    initialize hydration triggers after late runtime activation
    warn when style property bindings receive invalid values

    http

    Commit Description
    avoid aborting completed requests in FetchBackend
    respect content-type charset in fetch backend text decoder
    run root interceptors in the terminal request chain
    strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue
    Open source →
    Additional notes

    core

    Commit Description
    initialize hydration triggers after late runtime activation
    warn when style property bindings receive invalid values

    http

    Commit Description
    avoid aborting completed requests in FetchBackend
    respect content-type charset in fetch backend text decoder
    run root interceptors in the terminal request chain
    strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue
    Open source →
    Additional notes

    core

    Commit Type Description
    cfe2cda110 fix initialize hydration triggers after late runtime activation
    e43eb96341 fix warn when style property bindings receive invalid values

    http

    Commit Type Description
    ef4dfead83 fix avoid aborting completed requests in FetchBackend
    6a0789dc7f fix respect content-type charset in fetch backend text decoder
    bb78286e5e fix run root interceptors in the terminal request chain
    280d09b160 fix strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  4. 22.2.0-next.029 Jul 2026pre-release
    Release notes

    forms

    Commit Description
    allow permanent hidden fields in signal forms
    Open source →
    Additional notes

    forms

    Commit Type Description
    d5e8b1ef7a feat allow permanent hidden fields in signal forms

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  5. 22.1.427 Aug 2026
    Release notes

    common

    Commit Description
    avoid prototype member collisions
    use locale NaN symbol in number formatting

    compiler

    Commit Description
    scope animations declared in minified nested rules

    compiler-cli

    Commit Description
    default template diagnostic related message source file to template
    Produce correct tcb expression for optional chaining
    retain metadata for strict standalone errors

    core

    Commit Description
    avoid prototype member collisions
    explicitly reject foreign components in JIT mode
    preserve namespace for dynamic component hosts
    prevent TransferState prototype pollution
    throw coded RuntimeErrors instead of crashing when hydration/rendering can't find an expected DOM node

    forms

    Commit Description
    use dot-access for readonly rule configuration

    language-service

    Commit Description
    honor quote style preference when generating imports

    migrations

    Commit Description
    preserve registerLocaleData calls in standalone bootstrap migration

    platform-server

    Commit Description
    avoid stripping unicode whitespace during url resolution
    Open source →
    Additional notes

    common

    Commit Type Description
    60a874c3fb fix avoid prototype member collisions
    e8378dfeab fix use locale NaN symbol in number formatting

    compiler

    Commit Type Description
    05c7c725a5 fix scope animations declared in minified nested rules

    compiler-cli

    Commit Type Description
    afe8499a14 fix default template diagnostic related message source file to template
    079a846263 fix Produce correct tcb expression for optional chaining
    55eeb46418 fix retain metadata for strict standalone errors

    core

    Commit Type Description
    3da35cbab9 fix avoid prototype member collisions
    b199bdfa2a fix explicitly reject foreign components in JIT mode
    9a8e4826b9 fix preserve namespace for dynamic component hosts
    7c752d4815 fix prevent TransferState prototype pollution
    7546b7a805 fix throw coded RuntimeErrors instead of crashing when hydration/rendering can't find an expected DOM node

    forms

    Commit Type Description
    c8eb7f0056 fix use dot-access for readonly rule configuration

    language-service

    Commit Type Description
    93d7f718d2 fix honor quote style preference when generating imports

    migrations

    Commit Type Description
    85c8829ac1 fix preserve registerLocaleData calls in standalone bootstrap migration

    platform-server

    Commit Type Description
    71e52d1396 fix avoid stripping unicode whitespace during url resolution

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  6. 22.1.319 Aug 2026
    Release notes

    animations

    Commit Description
    detect object trigger values with Object.hasOwn

    common

    Commit Description
    preserve literal key union in KeyValuePipe.transform()

    compiler

    Commit Description
    preserve &ngsp; between sibling control flow blocks

    core

    Commit Description
    accept readonly arrays for setClassMetadata decorators
    allow readonly arrays in RawScopeInfoFromDecorator
    expose debuggableFn for non-computed signal graph nodes
    prevent orphaned requestIdleCallback handle from re-entrant scheduling
    replace all hasOwnProperty usages with Object.hasOwn
    stop running further effects once one destroys the view mid-flush
    throw a descriptive error instead of crashing when a hydration node is missing
    throw NG0500 instead of a raw TypeError on element hydration mismatch

    forms

    Commit Description
    report forbidden 2way bindings on when FormField is applied
    warn in dev mode when ngModel cannot reach parent NgForm across component boundary

    http

    Commit Description
    cancel oversized fetch response bodies

    language-server

    Commit Description
    recover project for external templates in solution-style workspaces

    platform-browser

    Commit Description
    disallow event handler attributes in Meta
    throw a descriptive error when insertBefore reference node is missing

    router

    Commit Description
    pass correct component to canDeactivate for named outlets in componentless parent routes
    Open source →
    Additional notes

    animations

    Commit Type Description
    d9620e0f1b fix detect object trigger values with Object.hasOwn

    common

    Commit Type Description
    b3c78a5081 fix preserve literal key union in KeyValuePipe.transform()

    compiler

    Commit Type Description
    94f0b9a371 fix preserve &ngsp; between sibling control flow blocks

    core

    Commit Type Description
    afe529cb2d fix accept readonly arrays for setClassMetadata decorators
    2c72fe3797 fix allow readonly arrays in RawScopeInfoFromDecorator
    ef2ce9a098 fix expose debuggableFn for non-computed signal graph nodes
    7bcce260f5 fix prevent orphaned requestIdleCallback handle from re-entrant scheduling
    44137117b3 fix replace all hasOwnProperty usages with Object.hasOwn
    85f12a5a13 fix stop running further effects once one destroys the view mid-flush
    c04931c88b fix throw a descriptive error instead of crashing when a hydration node is missing
    601d1f6576 fix throw NG0500 instead of a raw TypeError on element hydration mismatch

    forms

    Commit Type Description
    83450d2924 fix report forbidden 2way bindings on when FormField is applied
    5cb4ea7e35 fix warn in dev mode when ngModel cannot reach parent NgForm across component boundary

    http

    Commit Type Description
    0cd635e9e2 fix cancel oversized fetch response bodies

    language-server

    Commit Type Description
    14fbe04612 fix recover project for external templates in solution-style workspaces

    platform-browser

    Commit Type Description
    3ddcb1a101 fix disallow event handler attributes in Meta
    640460d606 fix throw a descriptive error when insertBefore reference node is missing

    router

    Commit Type Description
    abe019d505 fix pass correct component to canDeactivate for named outlets in componentless parent routes

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  7. 22.1.213 Aug 2026
    Release notes

    compiler

    Commit Description
    Generate correct expression for optional chaning.
    remove namespaced MathML script elements

    compiler-cli

    Commit Description
    correctly resolve symbol for SafePropertyRead in chained optional navigation
    record class extends clause references in DeferredSymbolTracker

    core

    Commit Description
    ensure i18n_util hasOwnProperty checks are safe for property renaming
    incorrect loop in defer blocks
    reject prefixed SVG script hosts

    forms

    Commit Description
    keep radio inputs in sync when values change

    http

    Commit Description
    always decode JSON responses as UTF-8

    router

    Commit Description
    limit protocol-relative URL handling to serialization
    Open source →
    Additional notes

    compiler

    Commit Description
    Generate correct expression for optional chaning.
    remove namespaced MathML script elements

    compiler-cli

    Commit Description
    correctly resolve symbol for SafePropertyRead in chained optional navigation
    record class extends clause references in DeferredSymbolTracker

    core

    Commit Description
    ensure i18n_util hasOwnProperty checks are safe for property renaming
    incorrect loop in defer blocks
    reject prefixed SVG script hosts

    forms

    Commit Description
    keep radio inputs in sync when values change

    http

    Commit Description
    always decode JSON responses as UTF-8

    router

    Commit Description
    limit protocol-relative URL handling to serialization
    Open source →
    Additional notes

    compiler

    Commit Type Description
    76dff307b4 fix Generate correct expression for optional chaning.
    6f9a64e6f5 fix remove namespaced MathML script elements

    compiler-cli

    Commit Type Description
    e9660b1801 fix correctly resolve symbol for SafePropertyRead in chained optional navigation
    ec6deea513 fix record class extends clause references in DeferredSymbolTracker

    core

    Commit Type Description
    0df9d5eb65 fix ensure i18n_util hasOwnProperty checks are safe for property renaming
    4d985a179e fix incorrect loop in defer blocks
    7b40456792 fix reject prefixed SVG script hosts

    forms

    Commit Type Description
    3b5c798072 fix keep radio inputs in sync when values change

    http

    Commit Type Description
    4f7e9987fa fix always decode JSON responses as UTF-8

    router

    Commit Type Description
    2f82601662 fix limit protocol-relative URL handling to serialization

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  8. 22.1.17 Aug 2026
    Release notes

    core

    Commit Description
    initialize hydration triggers after late runtime activation
    warn when style property bindings receive invalid values

    http

    Commit Description
    avoid aborting completed requests in FetchBackend
    respect content-type charset in fetch backend text decoder
    run root interceptors in the terminal request chain
    strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue
    Open source →
    Additional notes

    core

    Commit Type Description
    aa6d3189c1 fix initialize hydration triggers after late runtime activation
    deecb301c8 fix warn when style property bindings receive invalid values

    http

    Commit Type Description
    ac3728e79f fix avoid aborting completed requests in FetchBackend
    688a0a7118 fix respect content-type charset in fetch backend text decoder
    a13b968451 fix run root interceptors in the terminal request chain
    32af9b525e fix strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  9. 22.1.029 Jul 2026
    Release notes

    common

    Commit Description
    skip transfer cache for uncacheable HTTP traffic (#69017)

    compiler

    Commit Description
    Add an error for --global-foo cases (#68846)
    Disable '--global-' error outside of g3 (#68846)
    Namespace CSS variables to the app (#68846)
    Support css var namespacing in properties (#68846)
    permissive whitespace parsing in default never blocks
    support foreign components defined outside top-level scope
    support foreign components inside control flow blocks (#69674)
    do not emit tag name when control flow root is foreign component (#69674)

    compiler-cli

    Commit Description
    allow passing uninvoked signals as foreign component props
    support import aliases in foreignImports (#68674)

    core

    Commit Description
    add custom set option to linkedSignal
    Adds deep linking from Performance panel to DevTools
    account for namespaces in host binding sanitization (#69558)
    correct container anchor collection order to match DOM layout
    introduce disposal mechanism for Angular views in foreign @content
    introduce logical-only containers for foreign content
    sanitize host bindings on concrete hosts (#69558)
    set current tnode in foreign component instruction on reuse

    forms

    Commit Description
    add utility to assert that value is a field tree

    http

    Commit Description
    add options to allow caching of credentialed and non-cacheable HTTP requests
    enable xsrf for root-provided HttpClient
    match header values exactly when deleting
    preserve immutability of materialized clones
    skip transfer cache for fetch credentialed requests (#69017)
    deprecate jsonp support

    language-service

    Commit Description
    compile non-exported classes if standalone (#68454)
    Typecheck templates which would require inline typecheck blocks (#68454)
    account for strictTemplates being enabled by default

    migrations

    Commit Description
    add migration from injectable to service
    correctly detect then/else keywords in control flow migration

    platform-server

    Commit Description
    harden platform location origin validation during SSR (#69184)

    router

    Commit Description
    handle null and undefined inputs in RouterLinkActive

    Deprecations

    http

    • HttpClient.jsonp, HttpClientJsonpModule, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.
    Open source →
    Additional notes
    • fix(language-service): account for strictTemplates being enabled by default (a99fb915c0)
    • feat(language-service): Typecheck templates which would require inline typecheck blocks (#68454) (4f9c824dd9)
    • feat(language-service): compile non-exported classes if standalone (#68454) (7f0265e43a)
    Open source →
    Additional notes

    Deprecations

    http

    • HttpClient.jsonp, HttpClientJsonpModule, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.

    common

    Commit Type Description
    1ad6824d0d fix skip transfer cache for uncacheable HTTP traffic (#69017)

    compiler

    Commit Type Description
    af5e4e1131 feat Add an error for --global-foo cases (#68846)
    d579ecaf73 feat Disable '--global-' error outside of g3 (#68846)
    f98547675c feat Namespace CSS variables to the app (#68846)
    8c8b2f7783 feat Support css var namespacing in properties (#68846)
    292199aa4d fix permissive whitespace parsing in default never blocks
    25c744c4d0 fix support foreign components defined outside top-level scope
    5bd00add07 fix support foreign components inside control flow blocks (#69674)
    2e442f7876 perf do not emit tag name when control flow root is foreign component (#69674)

    compiler-cli

    Commit Type Description
    aeb55c8bc1 fix allow passing uninvoked signals as foreign component props
    7c60a98b3c fix support import aliases in foreignImports (#68674)

    core

    Commit Type Description
    124ba10ead feat add custom set option to linkedSignal
    eab4847a8b feat Adds deep linking from Performance panel to DevTools
    091456a214 fix account for namespaces in host binding sanitization (#69558)
    b3748e9fe4 fix correct container anchor collection order to match DOM layout
    11b206b919 fix introduce disposal mechanism for Angular views in foreign @content
    56607967db fix introduce logical-only containers for foreign content
    23cf1a828b fix sanitize host bindings on concrete hosts (#69558)
    0c07356c5c fix set current tnode in foreign component instruction on reuse

    forms

    Commit Type Description
    bbbd357bd2 fix add utility to assert that value is a field tree

    http

    Commit Type Description
    e3630c23c5 feat add options to allow caching of credentialed and non-cacheable HTTP requests
    ec16a3d6c6 fix enable xsrf for root-provided HttpClient
    39e362eea5 fix match header values exactly when deleting
    be46ca8696 fix preserve immutability of materialized clones
    c0cbd46bd7 fix skip transfer cache for fetch credentialed requests (#69017)
    af04e266cc refactor deprecate jsonp support

    language-service

    Commit Type Description
    7f0265e43a feat compile non-exported classes if standalone (#68454)
    4f9c824dd9 feat Typecheck templates which would require inline typecheck blocks (#68454)
    a99fb915c0 fix account for strictTemplates being enabled by default

    migrations

    Commit Type Description
    c75ff0255c feat add migration from injectable to service
    5d5b2ea72d fix correctly detect then/else keywords in control flow migration

    platform-server

    Commit Type Description
    cf9d7fa0f8 fix harden platform location origin validation during SSR (#69184)

    router

    Commit Type Description
    97a3fd6a55 feat handle null and undefined inputs in RouterLinkActive

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  10. 22.1.0-rc.022 Jul 2026pre-release
    Release notes

    common

    Commit Description
    preserve crossorigin on image preloads

    core

    Commit Description
    ensure SVG animation attributeName is checked case-insensitively

    forms

    Commit Description
    ensure pending status propagates to the root form in signal forms

    http

    Commit Description
    prevent transfer cache key collisions

    migrations

    Commit Description
    correctly migrate ngClass with mixed space-separated keys
    preserve NgClass import on partial migration
    Open source →
  11. 22.1.0-next.616 Jul 2026pre-release
    Release notes

    common

    Commit Description
    avoid prototype lookups in date format caches

    compiler

    Commit Description
    parsing of an empty template literal interpolation
    support foreign components inside control flow blocks (#69674)
    do not emit tag name when control flow root is foreign component (#69674)

    compiler-cli

    Commit Description
    re-tag SourceFiles after TsCreateProgramDriver.updateFiles()

    core

    Commit Description
    allow static attributes for explicit input transforms
    ignore processing instruction syntax in templates
    preserve explicit input transform write type

    forms

    Commit Description
    allow multiple async validators
    preserve intermediate number values in signal forms
    prevent stale CVA writeback during debounce

    http

    Commit Description
    prevent interceptor signal reads from leaking into calling reactive contexts

    localize

    Commit Description
    build runtime translations map with a null prototype
    use Object.hasOwn for placeholder lookup in translate

    platform-browser

    Commit Description
    prevent ReDoS in SOURCEMAP_URL_REGEXP
    Open source →
  12. 22.1.0-next.58 Jul 2026pre-release
    Release notes

    compiler

    Commit Description
    Add an error for --global-foo cases (#68846)
    Disable '--global-' error outside of g3 (#68846)
    Namespace CSS variables to the app (#68846)
    Support css var namespacing in properties (#68846)
    use regular optional chaining expression for safe function calls in TCBs

    compiler-cli

    Commit Description
    apply debugName transform to required signal queries
    detect uninvoked signals in bound expressions using ternary

    core

    Commit Description
    Adds deep linking from Performance panel to DevTools

    forms

    Commit Description
    allow multiple async validators

    forms/signals

    Commit Description
    make extractValue reactive for compat AbstractControl values

    http

    Commit Description
    add options to allow caching of credentialed and non-cacheable HTTP requests

    migrations

    Commit Description
    preserve transitive NgModule references when pruning
    remove stale model import in model-output migration

    router

    Commit Description
    handle outlet named proto in segment group maps
    use safe hasOwnProperty when parsing query params
    Open source →
  13. 22.1.0-next.41 Jul 2026pre-release
    Release notes

    common

    Commit Description
    use Object.hasOwn in I18nSelectPipe to handle null-prototype and shadowed mappings

    compiler

    Commit Description
    permissive whitespace parsing in default never blocks

    compiler-cli

    Commit Description
    include toSignal in debugName transform

    core

    Commit Description
    improve input writes migration in best effort mode
    reject dynamic script host elements

    router

    Commit Description
    fix malformed jsdoc comment for RouterLinkWithHref export
    Open source →
  14. 22.1.0-next.326 Jun 2026pre-release
    Release notes

    migrations

    Commit Description
    resolve migration failure when tsconfig specifies rootDir
    Open source →
  15. 22.1.0-next.225 Jun 2026pre-release
    Release notes

    compiler

    Commit Description
    account for NgModule dependencies in JIT-compiled partial declarations

    compiler-cli

    Commit Description
    report diagnostic instead of crashing on malformed host binding

    core

    Commit Description
    avoid uncaught promise errors in injectAsync prefetching

    http

    Commit Description
    prevent caching of responses with Set-Cookie headers

    migrations

    Commit Description
    add migration from injectable to service

    router

    Commit Description
    handle null and undefined inputs in RouterLinkActive

    service-worker

    Commit Description
    preserve referrer in asset requests
    preserve referrer policy in asset requests

    upgrade

    Commit Description
    support model() signals in downgradeComponent
    Open source →
  16. 22.1.0-next.117 Jun 2026pre-release
    Release notes

    common

    Commit Description
    escape anchor fragment in shadow DOM name selector

    compiler

    Commit Description
    restrict possible event handler check to property names longer than 2 characters

    core

    Commit Description
    avoid caching missing locale data
    escape overlapping comment delimiters in escapeCommentText
    guard against DOM clobbering in declareExperimentalWebMcpTool
    preserve leave animation for sibling instances sharing a TNode
    prevent unsubscribe during emit from throwing off other listeners
    treat iframe credentialless as security-sensitive
    detect existing signal dependency without checking all producer links

    http

    Commit Description
    distinguish repeated transfer cache params

    migrations

    Commit Description
    migration skip any target are not build or test
    Open source →
  17. 22.1.0-next.010 Jun 2026pre-release
    Release notes

    common

    Commit Description
    skip transfer cache for uncacheable HTTP traffic (#69017)

    compiler

    Commit Description
    support foreign components defined outside top-level scope

    compiler-cli

    Commit Description
    allow passing uninvoked signals as foreign component props
    support import aliases in foreignImports (#68674)

    core

    Commit Description
    add custom set option to linkedSignal
    correct container anchor collection order to match DOM layout
    introduce disposal mechanism for Angular views in foreign @content
    introduce logical-only containers for foreign content
    set current tnode in foreign component instruction on reuse

    http

    Commit Description
    skip transfer cache for fetch credentialed requests (#69017)
    deprecate jsonp support

    language-service

    Commit Description
    compile non-exported classes if standalone (#68454)
    Typecheck templates which would require inline typecheck blocks (#68454)

    platform-server

    Commit Description
    harden platform location origin validation during SSR (#69184)

    Deprecations

    http

    • HttpClient.jsonp, HttpClientJsonpModule, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.
    Open source →
  18. 22.0.822 Jul 2026
    Release notes

    common

    Commit Description
    preserve crossorigin on image preloads

    core

    Commit Description
    ensure SVG animation attributeName is checked case-insensitively

    forms

    Commit Description
    ensure pending status propagates to the root form in signal forms

    http

    Commit Description
    prevent transfer cache key collisions

    migrations

    Commit Description
    correctly migrate ngClass with mixed space-separated keys
    preserve NgClass import on partial migration
    Open source →
    Additional notes

    common

    Commit Type Description
    c0368f2278 fix preserve crossorigin on image preloads

    core

    Commit Type Description
    8616ba9db6 fix ensure SVG animation attributeName is checked case-insensitively

    forms

    Commit Type Description
    d302c7ab83 fix ensure pending status propagates to the root form in signal forms

    http

    Commit Type Description
    9d40f8aefe fix prevent transfer cache key collisions

    migrations

    Commit Type Description
    388daea2fc fix correctly migrate ngClass with mixed space-separated keys
    bb39cda648 fix preserve NgClass import on partial migration

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  19. 22.0.716 Jul 2026
    Release notes

    common

    Commit Description
    avoid prototype lookups in date format caches

    compiler

    Commit Description
    parsing of an empty template literal interpolation

    compiler-cli

    Commit Description
    re-tag SourceFiles after TsCreateProgramDriver.updateFiles()

    core

    Commit Description
    allow static attributes for explicit input transforms
    ignore processing instruction syntax in templates
    preserve explicit input transform write type

    forms

    Commit Description
    allow multiple async validators
    preserve intermediate number values in signal forms
    prevent stale CVA writeback during debounce

    http

    Commit Description
    prevent interceptor signal reads from leaking into calling reactive contexts

    localize

    Commit Description
    build runtime translations map with a null prototype
    use Object.hasOwn for placeholder lookup in translate

    platform-browser

    Commit Description
    prevent ReDoS in SOURCEMAP_URL_REGEXP
    Open source →
    Additional notes

    common

    Commit Type Description
    91e33aa1de fix avoid prototype lookups in date format caches

    compiler

    Commit Type Description
    5b516e3a58 fix parsing of an empty template literal interpolation

    compiler-cli

    Commit Type Description
    c88ddde1c9 fix re-tag SourceFiles after TsCreateProgramDriver.updateFiles()

    core

    Commit Type Description
    94d9591b51 fix allow static attributes for explicit input transforms
    c89f71a74c fix ignore processing instruction syntax in templates
    70500e4067 fix preserve explicit input transform write type

    forms

    Commit Type Description
    1b9964675f fix allow multiple async validators
    64d6d47a0c fix preserve intermediate number values in signal forms
    6cf7446afa fix prevent stale CVA writeback during debounce

    http

    Commit Type Description
    20b7dc3023 fix prevent interceptor signal reads from leaking into calling reactive contexts

    localize

    Commit Type Description
    22d5a091d1 fix build runtime translations map with a null prototype
    8ce1fcf7fa fix use Object.hasOwn for placeholder lookup in translate

    platform-browser

    Commit Type Description
    b34bf0dce8 fix prevent ReDoS in SOURCEMAP_URL_REGEXP

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  20. 22.0.68 Jul 2026
    Release notes

    compiler

    Commit Description
    use regular optional chaining expression for safe function calls in TCBs

    compiler-cli

    Commit Description
    apply debugName transform to required signal queries
    detect uninvoked signals in bound expressions using ternary

    forms/signals

    Commit Description
    make extractValue reactive for compat AbstractControl values

    migrations

    Commit Description
    preserve transitive NgModule references when pruning
    remove stale model import in model-output migration

    router

    Commit Description
    handle outlet named proto in segment group maps
    use safe hasOwnProperty when parsing query params
    Open source →
    Additional notes

    compiler

    Commit Type Description
    fd4ddcafed fix use regular optional chaining expression for safe function calls in TCBs

    compiler-cli

    Commit Type Description
    534fe81a89 fix apply debugName transform to required signal queries
    3b08201bfb fix detect uninvoked signals in bound expressions using ternary

    forms/signals

    Commit Type Description
    171669f7b2 fix make extractValue reactive for compat AbstractControl values

    migrations

    Commit Type Description
    0a6af1496b fix preserve transitive NgModule references when pruning
    d4a926a762 fix remove stale model import in model-output migration

    router

    Commit Type Description
    c238bd2ad7 fix handle outlet named proto in segment group maps
    8e6d7f7190 fix use safe hasOwnProperty when parsing query params

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  21. 22.0.51 Jul 2026
    Release notes

    common

    Commit Description
    use Object.hasOwn in I18nSelectPipe to handle null-prototype and shadowed mappings

    compiler-cli

    Commit Description
    include toSignal in debugName transform

    core

    Commit Description
    improve input writes migration in best effort mode
    reject dynamic script host elements

    router

    Commit Description
    fix malformed jsdoc comment for RouterLinkWithHref export
    Open source →
    Additional notes

    common

    Commit Type Description
    eb8fb9fe58 fix use Object.hasOwn in I18nSelectPipe to handle null-prototype and shadowed mappings

    compiler-cli

    Commit Type Description
    baf09a9939 fix include toSignal in debugName transform

    core

    Commit Type Description
    e598dc843f fix improve input writes migration in best effort mode
    ced0180b06 fix reject dynamic script host elements

    router

    Commit Type Description
    ca13b42e7c fix fix malformed jsdoc comment for RouterLinkWithHref export

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.4"></a>

    Open source →
  22. 22.0.426 Jun 2026
    Release notes

    migrations

    Commit Description
    resolve migration failure when tsconfig specifies rootDir
    Open source →
    Additional notes

    migrations

    Commit Type Description
    fd37f09f37 fix resolve migration failure when tsconfig specifies rootDir

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.3"></a>

    Open source →
  23. 22.0.325 Jun 2026
    Release notes

    compiler

    Commit Description
    account for NgModule dependencies in JIT-compiled partial declarations
    remove unused import breaking CI in 22.0.x

    compiler-cli

    Commit Description
    report diagnostic instead of crashing on malformed host binding

    core

    Commit Description
    avoid uncaught promise errors in injectAsync prefetching

    http

    Commit Description
    prevent caching of responses with Set-Cookie headers

    service-worker

    Commit Description
    preserve referrer in asset requests
    preserve referrer policy in asset requests

    upgrade

    Commit Description
    support model() signals in downgradeComponent
    Open source →
    Additional notes

    compiler

    Commit Type Description
    f90c20df40 fix account for NgModule dependencies in JIT-compiled partial declarations
    f4f7f3755c fix remove unused import breaking CI in 22.0.x

    compiler-cli

    Commit Type Description
    06d854929c fix report diagnostic instead of crashing on malformed host binding

    core

    Commit Type Description
    2799304259 fix avoid uncaught promise errors in injectAsync prefetching

    http

    Commit Type Description
    8cdc202dfc fix prevent caching of responses with Set-Cookie headers

    service-worker

    Commit Type Description
    b4a5a2fb4e fix preserve referrer in asset requests
    a16f9b2263 fix preserve referrer policy in asset requests

    upgrade

    Commit Type Description
    bcc648f4b6 fix support model() signals in downgradeComponent

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.2"></a>

    Open source →
  24. 22.0.217 Jun 2026
    Release notes

    common

    Commit Description
    escape anchor fragment in shadow DOM name selector
    skip transfer cache for uncacheable HTTP traffic (#69316)

    compiler

    Commit Description
    restrict possible event handler check to property names longer than 2 characters

    core

    Commit Description
    avoid caching missing locale data
    escape overlapping comment delimiters in escapeCommentText
    guard against DOM clobbering in declareExperimentalWebMcpTool
    preserve leave animation for sibling instances sharing a TNode
    prevent unsubscribe during emit from throwing off other listeners
    treat iframe credentialless as security-sensitive
    detect existing signal dependency without checking all producer links

    http

    Commit Description
    distinguish repeated transfer cache params
    skip transfer cache for fetch credentialed requests (#69316)

    migrations

    Commit Description
    migration skip any target are not build or test
    Open source →
    Additional notes

    common

    Commit Type Description
    94ea403563 fix escape anchor fragment in shadow DOM name selector
    6c1f3e9d49 fix skip transfer cache for uncacheable HTTP traffic (#69316)

    compiler

    Commit Type Description
    6f1171991a fix restrict possible event handler check to property names longer than 2 characters

    core

    Commit Type Description
    528a34f766 fix avoid caching missing locale data
    e17e8d5422 fix escape overlapping comment delimiters in escapeCommentText
    59dea13f80 fix guard against DOM clobbering in declareExperimentalWebMcpTool
    3a48abc15c fix preserve leave animation for sibling instances sharing a TNode
    93d0a5f95c fix prevent unsubscribe during emit from throwing off other listeners
    b32ee7ceb3 fix treat iframe credentialless as security-sensitive
    f902d1d35e perf detect existing signal dependency without checking all producer links

    http

    Commit Type Description
    6867f77ec7 fix distinguish repeated transfer cache params
    7ef1399068 fix skip transfer cache for fetch credentialed requests (#69316)

    migrations

    Commit Type Description
    15314c1736 fix migration skip any target are not build or test

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  25. 22.0.110 Jun 2026
    Release notes

    common

    Commit Description
    escape CSS string-terminating characters in escapeCssUrl
    Limits date format string length
    prevent prototype pollution in formatDateTime
    use cryptographically secure SHA-256 for transfer cache key generation

    compiler

    Commit Description
    disallow i18n event attributes
    more robust logic to check if regex can be optimized
    sanitize href/xlink:href attributes of any element of the MathML namespace
    sanitize two-way properties

    compiler-cli

    Commit Description
    bind switch exhaustive check expressions

    core

    Commit Description
    disable WebMCP during SSR
    Handle synchronous errors in PendingTasks.run function
    harden TransferState restoration against DOM clobbering
    prevent dangling prevConsumer reference from leaking destroyed views (#68681)
    require WebMCP tool descriptions
    update comment for Default change detection
    use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray
    validate lowercase SVG animation attribute names

    forms

    Commit Description
    delay mcp reading the form model by a tick
    harden FormGroup control lookups against prototype shadowing
    remove animationstart listener on component destroy to prevent memory leak
    set additionalProperties: false on generated WebMCP form

    http

    Commit Description
    ensure query parameters are inserted before URL fragments
    pass down the reportUploadProgress and reportDownloadProgress on post/patch requests
    preserve empty referrer option in HttpRequest
    Rejects non-HTTP(S) URLs in JSONP requests

    language-service

    Commit Description
    prevent external template inlay hints from appearing in TS files

    platform-server

    Commit Description
    harden platform location origin validation during SSR
    deprecate ServerXhr

    router

    Commit Description
    use native URL object for navigation boundary and comparison

    service-worker

    Commit Description
    Strips sensitive headers on cross-origin redirects

    Deprecations

    platform-server

    • XHR support in @angular/platform-server is deprecated. Use standard fetch APIs instead. (cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)
    Open source →
    Additional notes

    Deprecations

    platform-server

    • XHR support in @angular/platform-server is deprecated. Use standard fetch APIs instead. (cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)

    common

    Commit Type Description
    c4b5fa3c92 fix escape CSS string-terminating characters in escapeCssUrl
    dfff57ede9 fix Limits date format string length
    3c2892c8df fix prevent prototype pollution in formatDateTime
    1d87c49f6e fix use cryptographically secure SHA-256 for transfer cache key generation

    compiler

    Commit Type Description
    1ee224ca30 fix disallow i18n event attributes
    a56f1cdf8f fix more robust logic to check if regex can be optimized
    5946c18275 fix sanitize href/xlink:href attributes of any element of the MathML namespace
    393b84caf8 fix sanitize two-way properties

    compiler-cli

    Commit Type Description
    3d9ca2f173 fix bind switch exhaustive check expressions

    core

    Commit Type Description
    669146b0e7 fix disable WebMCP during SSR
    562a566ead fix Handle synchronous errors in PendingTasks.run function
    fa546f382d fix harden TransferState restoration against DOM clobbering
    29fdb98684 fix prevent dangling prevConsumer reference from leaking destroyed views (#68681)
    cdcea80327 fix require WebMCP tool descriptions
    4289c4c840 fix update comment for Default change detection
    3dd433b39a fix use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray
    045bb736b3 fix validate lowercase SVG animation attribute names

    forms

    Commit Type Description
    11836a670a fix delay mcp reading the form model by a tick
    85d2d100e3 fix harden FormGroup control lookups against prototype shadowing
    e51ad374ea fix remove animationstart listener on component destroy to prevent memory leak
    55b7b5a6b6 fix set additionalProperties: false on generated WebMCP form

    http

    Commit Type Description
    ffb06c0514 fix ensure query parameters are inserted before URL fragments
    2dd65d21e6 fix pass down the reportUploadProgress and reportDownloadProgress on post/patch requests
    4254eb416c fix preserve empty referrer option in HttpRequest
    167bd4c162 fix Rejects non-HTTP(S) URLs in JSONP requests

    language-service

    Commit Type Description
    43a0e28729 fix prevent external template inlay hints from appearing in TS files

    platform-server

    Commit Type Description
    ed48ca7f51 fix harden platform location origin validation during SSR
    1881ede3a7 refactor deprecate ServerXhr

    router

    Commit Type Description
    43edc8410f fix use native URL object for navigation boundary and comparison

    service-worker

    Commit Type Description
    cf97b1f828 fix Strips sensitive headers on cross-origin redirects

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  26. 22.0.03 Jun 2026
    Release notes

    compiler

    Commit Description
    allow safe navigation to correctly narrow down nullables
    Angular expressions with optional chaining returns undefined
    Support comments in html element.
    abstract emitter producing incorrect code for dynamic imports
    Don't bind inputs/outputs for data- attributes
    don't escape dollar sign in literal expression
    enforce parentheses containing arguments for :host-context
    invalid type checking code if field name needs to be quoted
    normalize tag names with custom namespaces in DomElementSchemaRegistry (#68868)
    preserve leading commas in animation definitions
    remove dedicated support for legacy shadow DOM selectors
    remove deprecated shadow CSS encapsulation polyfills
    sanitize dynamic href and xlink:href bindings on SVG a elements (#68868)
    simplify handling of colon host with a selector list
    stop generating unused field
    throw on duplicate input/outputs
    throw on invalid in expressions
    type check invalid for loops

    compiler-cli

    Commit Description
    add support for Node.js 26.0.0
    Adds warning for prefetch without main defer trigger
    support external TCBs with copied content in specific mode
    animation events not type checked properly when bound through HostListener decorator
    resolve TCB mapping failure for safe property reads with as any
    transform dropping exclamationToken from properties
    introduce NG8023 compile-time diagnostic for duplicate selectors

    core

    Commit Description
    add IdleRequestOptions support to IdleService
    add provideWebMcpTools
    Add a injectAsync helper function
    Add a schematics to migrate provideHttpClient to keep using the HttpXhrBackend implementation.
    add ability to cache resources for SSR
    Add migration to add ChangeDetectionStrategy.Eager where applicable
    add special return statuses for resource params
    add TestBed.getFixture
    allow debouncing signals
    Allow other expression for exhaustive typechecking
    allow synchronous values for stream Resources
    bootstrap via ApplicationRef with config
    de-duplicate host directives
    drop support for TypeScript 5.9
    enhance profiling with documentation URLs
    export experimental declareWebMcpTool support
    implement Angular DI graph in-page AI tool
    introduce @Service decorator
    re-introduce nested leave animations scoped to component boundaries
    register AI runtime debugging tools
    Set default Component changeDetection strategy to OnPush
    support bootstrapping Angular applications underneath shadow roots
    support customization of @defer's on idle behavior
    Support optional timeout for idle deferred triggers
    TestBed.getFixture -> TestBed.getLastFixture and update implementation
    Update Testability to use PendingTasks for stability indicator
    allow service with factory on abstract classes
    bind global context to idle callback shims in @defer's idle service
    do not register dom triggers when defer blocks are in manual mode
    enforce return type for service factory
    ensure custom controls resolve transitive host directives
    lazy-initialize debounced state to prevent computation cycle
    mark service decorator as stable
    normalize tag names in runtime i18n attribute security context lookup (#68868)
    prevent rxResource from leaking a subscription
    resolver function not matching expected type
    support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation
    synchronize core sanitization schema with compiler
    widen type for directive inputs/outputs
    enhance AnimationCallbackEvent.animationComplete signature
    remove checkNoChanges from the public API.
    remove createNgModuleRef
    remove ComponentFactoryResolver & ComponentFactory from the api surface
    remove ComponentFactoryResolver & ComponentFactory from the api surface""

    forms

    Commit Description
    add reloadValidation to Signal Forms to manually trigger async validation
    add debounce option to validateAsync and validateHttp
    add FieldState.getError()
    graduate signal forms APIs to public API
    shim legacy NG_VALIDATORS into parseErrors for CVA mode (#67943)
    support binding `number
    support ngNoCva as an opt-out for ControlValueAccessors
    template & reactive support for FVC
    Add support for range type with outside of native bounds
    align FormField CVA selection priority with standard forms
    allow FormRoot to be used without submission options (#67727)
    allow late-bound input types for signals forms
    change FieldState optional properties to non-optional
    clear native date inputs correctly in signal forms when changed via native UI
    deduplicate writeValue calls in CVA interop
    ensure debounced async validators produce pending status during debounce
    fix orphan field error on blur during array removal
    implement custom control reset propagation
    prevent orphan field crashes in debounceSync and async validation
    restrict SignalFormsConfig to a readonly API
    split the touched model into an input and touch output
    support generic unions in signal form schemas
    synchronize controls with the model on reset
    Untrack setValue in reactive forms
    use controlValue in NgControl for CVA interop (#67943)
    avoid redundant invalidations in parser errors signal
    avoid spurious recomputation in FormField.parseErrors
    lazily instantiate signal form fields
    optimize reactivity by using shallow array equality
    shortcut deepSignal writes if value is unchanged
    remove string support from min and max validation rules (#68001)

    http

    Commit Description
    Use FetchBackend as default for the HttpBackend implementation
    Introduce a max buffer size for fetch requests on SSR
    prevent httpResource from leaking a subscription
    Add reportUploadProgress & reportDownloadProgress options

    language-service

    Commit Description
    add angular template inlay hints support
    add Document Symbols support for Angular templates
    Add support for idle timeout in defer blocks
    Add support for @Input with transforms

    migrations

    Commit Description
    Add migration for CanMatchFn snapshot parameter (#67452)
    add strictTemplates to tsconfig during ng update
    Disabling nullishCoalescingNotNullable & optionalChainNotNullable on ng update
    model + output migrations
    avoid generating invalid code in ChangeDetectionStrategy.Eager migration
    Fix typo for strict-template migration
    Make the safe optional chaining idempotent
    remove compiler import from safe optional chaining migration

    platform-browser

    Commit Description
    make incremental hydration default behavior
    remove unused styles when associated host is dropped
    remove Hammer integration

    router

    Commit Description
    Add options optional parameter for withComponentInputBinding
    add unmatchedInputBehavior option to componentInputBinding
    adds browserUrl input support to router links
    Add strict typing on 'getResolvedTitleForRoute'
    make currentSnapshot required in CanMatchFn (#67452)
    set default paramsInheritanceStrategy to 'always'
    remove deprecated provideRoutes function.

    service-worker

    Commit Description
    resolve TS 6.0 compatibility for messageerror listener

    upgrade

    Commit Description
    remove getAngularLib/setAngularLib

    Breaking Changes

    compiler

    • This change will trigger the nullishCoalescingNotNullable and optionalChainNotNullable diagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in your tsconfig temporarily.
    • data prefixed attribute no-longer bind inputs nor outputs.
    • The compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.
    • in variables will throw in template expressions.

    compiler-cli

    • Elements with multiple matching selectors will now throw at compile time.

    core

    • The second arguement of appRef.bootstrap does not accept any anymore. Make sure the element you pass is not nullable.
      • TypeScript versions older than 6.0 are no longer supported.
    • Leave animations are no longer limited to the element being removed.
    • Component with undefined changeDetection property are now OnPush by default. Specify changeDetection: ChangeDetectionStrategy.Eager to keep the previous behavior.
    • change AnimationCallbackEvent.animationComplete signature
    • ChangeDetectorRef.checkNoChanges was removed. In tests use fixture.detectChanges() instead.
    • createNgModuleRef was removed, use createNgModule instead
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponentFunction.
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponent function.
    • stream Resource (which includes rxResource) are now resolving the value synchronously if the stream/observable returns a value sychronously. This can break some tests that assumed an asynchronous resolution of the value.

    forms

    • min and max validation rules no longer support string values. Bound values must be numbers or null.

    http

    • Use the HttpXhrBackend with provideHttpClient(withXhr) if you want to keep supporting upload progress reports.

    platform-browser

    • This removes styles when they appear to no longer be used by an associated host. However other DOM on the page may still be affected by those styles if not leveraging ViewEncapsulation.Emulated or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.
    • Hammer.js integration has been removed. Use your own implementation.

    router

    • The return type for TitleStrategy.getResolvedTitleForRoute was previously 'any' while the actual return type could only be either string or undefined. The return type now reflects the possible values correctly. Code that reads the value may need to be adjusted.

      (cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)

    • The currentSnapshot parameter in CanMatchFn and the canMatch method of the CanMatch interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of CanMatch must now include the third argument to satisfy the interface.

    • paramsInheritanceStrategy now defaults to 'always'

      The default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.

    • provideRoutes() has been removed. Use provideRouter() or ROUTES as multi token if necessary.

    upgrade

    • Deprecated getAngularLib/setAngularLib have been removed use getAngularJSGlobal/setAngularJSGlobal instead.

    Deprecations

    http

    • withFetch is now deprecated, it can be safely removed.
    • The reportProgress option is deprecated please use reportUploadProgress & reportDownloadProgress instead.
    Open source →
    Additional notes

    Blog post "Announcing Angular v22".

    Breaking Changes

    compiler

    • This change will trigger the nullishCoalescingNotNullable and optionalChainNotNullable diagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in your tsconfig temporarily.
    • data prefixed attribute no-longer bind inputs nor outputs.
    • The compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.
    • in variables will throw in template expressions.

    compiler-cli

    • Elements with multiple matching selectors will now throw at compile time.

    core

    • The second arguement of appRef.bootstrap does not accept any anymore. Make sure the element you pass is not nullable.
      • TypeScript versions older than 6.0 are no longer supported.
    • Leave animations are no longer limited to the element being removed.
    • Component with undefined changeDetection property are now OnPush by default. Specify changeDetection: ChangeDetectionStrategy.Eager to keep the previous behavior.
    • change AnimationCallbackEvent.animationComplete signature
    • ChangeDetectorRef.checkNoChanges was removed. In tests use fixture.detectChanges() instead.
    • createNgModuleRef was removed, use createNgModule instead
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponentFunction.
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponent function.

    forms

    • min and max validation rules no longer support string values. Bound values must be numbers or null.

    http

    • Use the HttpXhrBackend with provideHttpClient(withXhr) if you want to keep supporting upload progress reports.

    platform-browser

    • This removes styles when they appear to no longer be used by an associated host. However other DOM on the page may still be affected by those styles if not leveraging ViewEncapsulation.Emulated or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.
    • Hammer.js integration has been removed. Use your own implementation.

    router

    • The return type for TitleStrategy.getResolvedTitleForRoute was previously 'any' while the actual return type could only be either string or undefined. The return type now reflects the possible values correctly. Code that reads the value may need to be adjusted.

      (cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)

    • The currentSnapshot parameter in CanMatchFn and the canMatch method of the CanMatch interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of CanMatch must now include the third argument to satisfy the interface.

    • paramsInheritanceStrategy now defaults to 'always'

      The default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.

    • provideRoutes() has been removed. Use provideRouter() or ROUTES as multi token if necessary.

    upgrade

    • Deprecated getAngularLib/setAngularLib have been removed use getAngularJSGlobal/setAngularJSGlobal instead.

    Deprecations

    http

    • withFetch is now deprecated, it can be safely removed.
    • The reportProgress option is deprecated please use reportUploadProgress & reportDownloadProgress instead.

    compiler

    Commit Type Description
    47fcbc4704 feat allow safe navigation to correctly narrow down nullables
    2896c93cc1 feat Angular expressions with optional chaining returns undefined
    e850643b1b feat Support comments in html element.
    96be4f429b fix abstract emitter producing incorrect code for dynamic imports
    488d962bc7 fix Don't bind inputs/outputs for data- attributes
    2c5aabb9da fix don't escape dollar sign in literal expression
    c7aef8ec5d fix enforce parentheses containing arguments for :host-context
    b225a5d902 fix invalid type checking code if field name needs to be quoted
    ab9154ab75 fix normalize tag names with custom namespaces in DomElementSchemaRegistry (#68868)
    8a1533c9ad fix preserve leading commas in animation definitions
    194f723f66 fix remove dedicated support for legacy shadow DOM selectors
    4c25a42e98 fix remove deprecated shadow CSS encapsulation polyfills
    6ff620a033 fix sanitize dynamic href and xlink:href bindings on SVG a elements (#68868)
    7dc1017e51 fix simplify handling of colon host with a selector list
    d99ab0e040 fix stop generating unused field
    03db2aefaa fix throw on duplicate input/outputs
    786ef8261f fix throw on invalid in expressions
    ccb7d427e4 fix type check invalid for loops

    compiler-cli

    Commit Type Description
    b8d3f36ed9 feat add support for Node.js 26.0.0
    7f9450219f feat Adds warning for prefetch without main defer trigger
    2eae497a04 feat support external TCBs with copied content in specific mode
    e5f96c2d88 fix animation events not type checked properly when bound through HostListener decorator
    9218140348 fix resolve TCB mapping failure for safe property reads with as any
    7a0d6b8df2 fix transform dropping exclamationToken from properties
    ca67828ee2 refactor introduce NG8023 compile-time diagnostic for duplicate selectors

    core

    Commit Type Description
    17d3ea44e2 feat add IdleRequestOptions support to IdleService
    3b0ae5fef0 feat add provideWebMcpTools
    444b024d49 feat Add a injectAsync helper function
    3bc095d508 feat Add a schematics to migrate provideHttpClient to keep using the HttpXhrBackend implementation.
    5a7c1e62dc feat add ability to cache resources for SSR
    cb4cb77053 feat Add migration to add ChangeDetectionStrategy.Eager where applicable
    2206efa55f feat add special return statuses for resource params
    246a984a5d feat add TestBed.getFixture
    b918beda32 feat allow debouncing signals
    8bc31a515f feat Allow other expression for exhaustive typechecking
    4e331062e8 feat allow synchronous values for stream Resources
    a0aa8304cd feat bootstrap via ApplicationRef with config
    9c55fcb3e6 feat de-duplicate host directives
    8fe025f514 feat drop support for TypeScript 5.9
    2f5ab541ea feat enhance profiling with documentation URLs
    ef1810197b feat export experimental declareWebMcpTool support
    75f2cb8f56 feat implement Angular DI graph in-page AI tool
    8f3d0b9d97 feat introduce @Service decorator
    df659b8d0c feat re-introduce nested leave animations scoped to component boundaries
    8ce9cc4f6b feat register AI runtime debugging tools
    eae8f7e30b feat Set default Component changeDetection strategy to OnPush
    cdda51a3b2 feat support bootstrapping Angular applications underneath shadow roots
    a5981b83a6 feat support customization of @defer's on idle behavior
    98eb24cea0 feat Support optional timeout for idle deferred triggers
    dc3131c639 feat TestBed.getFixture -> TestBed.getLastFixture and update implementation
    9f479ae964 feat Update Testability to use PendingTasks for stability indicator
    8ebae1de33 fix allow service with factory on abstract classes
    f9d8da6924 fix bind global context to idle callback shims in @defer's idle service
    61a48e99aa fix do not register dom triggers when defer blocks are in manual mode
    49748b5c79 fix enforce return type for service factory
    16adbbf423 fix ensure custom controls resolve transitive host directives
    50e599e73e fix lazy-initialize debounced state to prevent computation cycle
    7aad302c3e fix mark service decorator as stable
    a08e4fb93c fix normalize tag names in runtime i18n attribute security context lookup (#68868)
    b20f0fe078 fix prevent rxResource from leaking a subscription
    22f8b0a500 fix resolver function not matching expected type
    88d138ccc8 fix support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation
    bfe6f6c2a5 fix synchronize core sanitization schema with compiler
    5e99ae9f00 fix widen type for directive inputs/outputs
    b9b5c279b4 refactor enhance AnimationCallbackEvent.animationComplete signature
    69fb1614ef refactor remove checkNoChanges from the public API.
    36936872c9 refactor remove createNgModuleRef
    9d76ac8229 refactor remove ComponentFactoryResolver & ComponentFactory from the api surface
    b1f5181ffd refactor remove ComponentFactoryResolver & ComponentFactory from the api surface""

    forms

    Commit Type Description
    74f76d8075 feat add reloadValidation to Signal Forms to manually trigger async validation
    24e52d450d feat add debounce option to validateAsync and validateHttp
    709f5a390c feat add FieldState.getError()
    7745365910 feat graduate signal forms APIs to public API
    f9f24fc669 feat shim legacy NG_VALIDATORS into parseErrors for CVA mode (#67943)
    41b1410cb8 feat support binding `number
    3983080236 feat support ngNoCva as an opt-out for ControlValueAccessors
    c4ce3f345f feat template & reactive support for FVC
    3524de29f3 fix Add support for range type with outside of native bounds
    de56d74da3 fix align FormField CVA selection priority with standard forms
    0eeb1b5f03 fix allow FormRoot to be used without submission options (#67727)
    394ad0c2a2 fix allow late-bound input types for signals forms
    ee8d2098cb fix change FieldState optional properties to non-optional
    df8b020299 fix clear native date inputs correctly in signal forms when changed via native UI
    2e9aeea0fe fix deduplicate writeValue calls in CVA interop
    0ea50ffe5a fix ensure debounced async validators produce pending status during debounce
    3c44d7c90b fix fix orphan field error on blur during array removal
    849dba6c65 fix implement custom control reset propagation
    5835a5e3a7 fix prevent orphan field crashes in debounceSync and async validation
    3e7ce0dafc fix restrict SignalFormsConfig to a readonly API
    fb166772d2 fix split the touched model into an input and touch output
    83032e3605 fix support generic unions in signal form schemas
    68c3abbe09 fix synchronize controls with the model on reset
    2061fd8253 fix Untrack setValue in reactive forms
    72d3ace03c fix use controlValue in NgControl for CVA interop (#67943)
    3b4ef1e2ff perf avoid redundant invalidations in parser errors signal
    07a9358157 perf avoid spurious recomputation in FormField.parseErrors
    98c5afdb02 perf lazily instantiate signal form fields
    e0536091f5 perf optimize reactivity by using shallow array equality
    9b9769479b perf shortcut deepSignal writes if value is unchanged
    592a12d6c9 refactor remove string support from min and max validation rules (#68001)

    http

    Commit Type Description
    5c432fb8bb feat Use FetchBackend as default for the HttpBackend implementation
    f7b3ed8db2 fix Introduce a max buffer size for fetch requests on SSR
    e6cfaf5672 fix prevent httpResource from leaking a subscription
    7c8c3347ef refactor Add reportUploadProgress & reportDownloadProgress options

    language-service

    Commit Type Description
    5a6d88626b feat add angular template inlay hints support
    cfd0f9950c feat add Document Symbols support for Angular templates
    c6f98c723c feat Add support for idle timeout in defer blocks
    dc9c72da9b fix Add support for @Input with transforms

    migrations

    Commit Type Description
    8216d34976 feat Add migration for CanMatchFn snapshot parameter (#67452)
    682aaf943f feat add strictTemplates to tsconfig during ng update
    6a435658e2 feat Disabling nullishCoalescingNotNullable & optionalChainNotNullable on ng update
    8f8972b0fd feat model + output migrations
    f01901d766 fix avoid generating invalid code in ChangeDetectionStrategy.Eager migration
    1415d86980 fix Fix typo for strict-template migration
    9d9855a415 fix Make the safe optional chaining idempotent
    0f2160c410 fix remove compiler import from safe optional chaining migration

    platform-browser

    Commit Type Description
    68628dd45b feat make incremental hydration default behavior
    d45b7a91f9 fix remove unused styles when associated host is dropped
    f99e7ed20f refactor remove Hammer integration

    router

    Commit Type Description
    89c9a4de30 feat Add options optional parameter for withComponentInputBinding
    c84642ac16 feat add unmatchedInputBehavior option to componentInputBinding
    3683902234 feat adds browserUrl input support to router links
    3e7117d690 fix Add strict typing on 'getResolvedTitleForRoute'
    579440170b fix make currentSnapshot required in CanMatchFn (#67452)
    17d10f7a99 fix set default paramsInheritanceStrategy to 'always'
    bdb6ae9dbc refactor remove deprecated provideRoutes function.

    service-worker

    Commit Type Description
    836094c072 fix resolve TS 6.0 compatibility for messageerror listener

    upgrade

    Commit Type Description
    01a179577b refactor remove getAngularLib/setAngularLib

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  27. 22.0.0-rc.31 Jun 2026pre-release
    Release notes

    common

    Commit Description
    only strip a literal /index.html suffix from URLs

    compiler

    Commit Description
    move projection attributes into constants

    core

    Commit Description
    use Object.create(null) for LOCALE_DATA as a hardening measure

    migrations

    Commit Description
    Make the safe optional chaining idempotent

    platform-server

    Commit Description
    throw on suspicious URLs and restrict protocol-relative URLs
    Open source →
  28. 22.0.0-rc.228 May 2026pre-release
    Release notes

    common

    Commit Description
    add upper bounds for digitsInfo
    sanitize placeholder

    compiler

    Commit Description
    normalize tag names with custom namespaces in DomElementSchemaRegistry (#68868)
    prevent namespaced SVG <style> elements from being stripped
    sanitize dynamic href and xlink:href bindings on SVG a elements (#68868)

    core

    Commit Description
    do not register dom triggers when defer blocks are in manual mode
    normalize tag names in runtime i18n attribute security context lookup (#68868)
    prevent rxResource from leaking a subscription
    sanitize meta selectors

    forms

    Commit Description
    avoid redundant invalidations in parser errors signal

    http

    Commit Description
    exclude withCredentials requests from transfer cache
    Introduce a max buffer size for fetch requests on SSR
    prevent httpResource from leaking a subscription
    skip TransferCache for cookie-bearing requests by default

    platform-server

    Commit Description
    prevent SSRF bypasses via backslash URLs in HttpClient
    secure location and document initialization against SSRF and path hijack

    service-worker

    Commit Description
    Preserves explicit 'credentials: omit' in asset requests
    Preserves HTTP cache mode in asset group requests
    Open source →
  29. 22.0.0-rc.120 May 2026pre-release
    Release notes

    compiler

    Commit Description
    strip namespaced SVG script elements during template compilation

    core

    Commit Description
    do not insert todo when migrating void @Output
    makes resource URL sanitizer lookup case-insensitive
    reject script element as a dynamic component host
    support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation
    synchronize core sanitization schema with compiler
    visit ICU expressions in signal migration schematics

    forms

    Commit Description
    avoid spurious recomputation in FormField.parseErrors

    router

    Commit Description
    Add strict typing on 'getResolvedTitleForRoute'
    skip scroll-to-top on initial navigation when hydrating

    Breaking Changes

    router

    • The return type for TitleStrategy.getResolvedTitleForRoute was previously 'any' while the actual return type could only be either string or undefined. The return type now reflects the possible values correctly. Code that reads the value may need to be adjusted.

      (cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)

    Open source →
  30. 22.0.0-rc.013 May 2026pre-release
    Release notes

    compiler

    Commit Description
    enforce parentheses containing arguments for :host-context
    preserve leading commas in animation definitions
    remove dedicated support for legacy shadow DOM selectors
    remove deprecated shadow CSS encapsulation polyfills
    simplify handling of colon host with a selector list
    type check invalid for loops

    platform-server

    Commit Description
    forward BEFORE_APP_SERIALIZED errors to ErrorHandler
    Open source →
  31. 22.0.0-next.128 May 2026pre-release
    Release notes

    core

    Commit Description
    allow service with factory on abstract classes
    disallow event attribute bindings in host bindings unconditionally

    migrations

    Commit Description
    remove compiler import from safe optional chaining migration

    platform-server

    Commit Description
    add allowedHosts option to renderModule and renderApplication
    Open source →
  32. 22.0.0-next.116 May 2026pre-release
    Release notes

    compiler

    Commit Description
    invalid type checking code if field name needs to be quoted

    compiler-cli

    Commit Description
    add support for Node.js 26.0.0
    support external TCBs with copied content in specific mode

    core

    Commit Description
    add provideWebMcpTools
    add ability to cache resources for SSR
    export experimental declareWebMcpTool support
    allow explicit read generic with signal input transforms
    enforce return type for service factory
    i18n flags leaking on errors
    mark service decorator as stable
    respect ngSkipHydration on components with projectable nodes in LContainers
    validate security-sensitive attributes in i18n bindings
    visit ng-let expression value in signal migration schematics

    forms

    Commit Description
    graduate signal forms APIs to public API
    Add support for range type with outside of native bounds
    ensure debounced async validators produce pending status during debounce
    fix orphan field error on blur during array removal
    implement custom control reset propagation
    prevent orphan field crashes in debounceSync and async validation
    prohibit concurrent submits in signal forms
    synchronize controls with the model on reset
    optimize reactivity by using shallow array equality
    shortcut deepSignal writes if value is unchanged
    remove string support from min and max validation rules (#68001)

    http

    Commit Description
    Add reportUploadProgress & reportDownloadProgress options

    language-service

    Commit Description
    Add support for @Input with transforms

    router

    Commit Description
    add unmatchedInputBehavior option to componentInputBinding

    Breaking Changes

    forms

    • min and max validation rules no longer support string values. Bound values must be numbers or null.

    Deprecations

    http

    • The reportProgress option is deprecated please use reportUploadProgress & reportDownloadProgress instead.
    Open source →
  33. 22.0.0-next.1029 Apr 2026pre-release
    Release notes

    common

    Commit Description
    prevent focus from scrollToAnchor

    compiler

    Commit Description
    Angular expressions with optional chaining returns undefined
    let declaration span not including end character

    core

    Commit Description
    Add a injectAsync helper function
    fix ordering of view queries metadata in JIT mode
    guard against non-object events and avoid listener wrapper identity mismatch
    prevent event replay double-invocation when element hydrates before app stability

    migrations

    Commit Description
    model + output migrations

    platform-server

    Commit Description
    ensure origin has a trailing slash when parsing url
    Open source →
  34. 22.0.0-next.922 Apr 2026pre-release
    Release notes

    core

    Commit Description
    introduce @Service decorator
    Update Testability to use PendingTasks for stability indicator

    docs

    Commit Description
    link formatting in "Animating your Application with CSS"

    migrations

    Commit Description
    fix NgClass leaving trailing comma after removal

    router

    Commit Description
    restore internal URL on popstate when browserUrl is used
    set default paramsInheritanceStrategy to 'always'

    Breaking Changes

    router

    • paramsInheritanceStrategy now defaults to 'always'

      The default value of paramsInheritanceStrategy has been changed from 'emptyOnly' to 'always'. This means that route parameters are inherited from all parent routes by default. To restore the previous behavior, set paramsInheritanceStrategy to 'emptyOnly' in your router configuration.

    Open source →
  35. 22.0.0-next.815 Apr 2026pre-release
    Release notes

    compiler

    Commit Description
    allow safe navigation to correctly narrow down nullables
    don't escape dollar sign in literal expression

    compiler-cli

    Commit Description
    animation events not type checked properly when bound through HostListener decorator

    core

    Commit Description
    allow synchronous values for stream Resources
    enhance profiling with documentation URLs
    implement Angular DI graph in-page AI tool
    register AI runtime debugging tools
    support bootstrapping Angular applications underneath shadow roots
    escape forward slashes in transfer state to prevent crawler indexing

    forms

    Commit Description
    shim legacy NG_VALIDATORS into parseErrors for CVA mode (#67943)
    use controlValue in NgControl for CVA interop (#67943)

    http

    Commit Description
    add CSP nonce support to JsonpClientBackend
    Don't on Passthru outside of reactive context

    migrations

    Commit Description
    Disabling nullishCoalescingNotNullable & optionalChainNotNullable on ng update
    Fix typo for strict-template migration

    platform-browser

    Commit Description
    make incremental hydration default behavior

    platform-server

    Commit Description
    prevent SSRF bypasses via protocol-relative and backslash URLs

    router

    Commit Description
    normalize multiple leading slashes in URL parser

    service-worker

    Commit Description
    resolve TS 6.0 compatibility for messageerror listener

    Breaking Changes

    compiler

    • This change will trigger the nullishCoalescingNotNullable and optionalChainNotNullable diagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in your tsconfig temporarily.
    Open source →
  36. 22.0.0-next.78 Apr 2026pre-release
    Release notes

    compiler

    Commit Description
    handle nested brackets in host object bindings

    compiler-cli

    Commit Description
    Adds warning for prefetch without main defer trigger
    error for type parameter declarations
    resolve TCB mapping failure for safe property reads with as any

    core

    Commit Description
    bootstrap via ApplicationRef with config
    de-duplicate host directives
    drop support for TypeScript 5.9
    handle missing serialized container hydration data
    remove obsolete iOS cursor pointer hack in event delegation
    remove ComponentFactoryResolver & ComponentFactory from the api surface
    remove ComponentFactoryResolver & ComponentFactory from the api surface""

    forms

    Commit Description
    align FormField CVA selection priority with standard forms
    allow late-bound input types for signals forms
    deduplicate writeValue calls in CVA interop

    language-service

    Commit Description
    get quick info at local var location to align with TS semantics and support type narrowing

    migrations

    Commit Description
    Add migration for CanMatchFn snapshot parameter (#67452)

    platform-browser

    Commit Description
    remove unused styles when associated host is dropped

    router

    Commit Description
    make currentSnapshot required in CanMatchFn (#67452)

    Breaking Changes

    core

    • The second arguement of appRef.bootstrap does not accept any anymore. Make sure the element you pass is not nullable.
      • TypeScript versions older than 6.0 are no longer supported.
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponentFunction.
    • ComponentFactoryResolver and ComponentFactory are no longer available. Pass the component class directly to APIs that previously required a factory, such as ViewContainerRef.createComponent or use the standalone createComponent function.

    platform-browser

    • This removes styles when they appear to no longer be used by an associated host. However other DOM on the page may still be affected by those styles if not leveraging ViewEncapsulation.Emulated or if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.

    router

    • The currentSnapshot parameter in CanMatchFn and the canMatch method of the CanMatch interface is now required. While this was already the behavior of the Router at runtime, existing class implementations of CanMatch must now include the third argument to satisfy the interface.
    Open source →
  37. 22.0.0-next.61 Apr 2026pre-release
    Release notes

    compiler

    Commit Description
    register SVG animation attributes in URL security context (#67797)

    compiler-cli

    Commit Description
    prevent recursive scope checks for invalid NgModule imports

    core

    Commit Description
    prevent binding unsafe attributes on SVG animation elements (#67797)
    resolve component import by exact specifier in route lazy-loading schematic
    treat object[data] as resource URL context (#67797)

    localize

    Commit Description
    validate locale in getOutputPathFn to prevent path traversal

    migrations

    Commit Description
    add strictTemplates to tsconfig during ng update

    router

    Commit Description
    pass outlet context to split to fix empty path named outlets
    Open source →
  38. 22.0.0-next.525 Mar 2026pre-release
    Release notes

    common

    Commit Description
    avoid redundant image fetch on destroy with auto sizes

    compiler

    Commit Description
    Support comments in html element.
    abstract emitter producing incorrect code for dynamic imports
    prevent shimCssText from adding extra blank lines per CSS comment

    compiler-cli

    Commit Description
    introduce NG8023 compile-time diagnostic for duplicate selectors

    core

    Commit Description
    Allow other expression for exhaustive typechecking
    Set default Component changeDetection strategy to OnPush
    ensure custom controls resolve transitive host directives
    fixes a regression with animate.leave and reordering
    lazy-initialize debounced state to prevent computation cycle
    resolver function not matching expected type
    widen type for directive inputs/outputs

    forms

    Commit Description
    add reloadValidation to Signal Forms to manually trigger async validation
    add debounce option to validateAsync and validateHttp
    add FieldState.getError()
    support binding `number
    allow FormRoot to be used without submission options (#67727)
    change FieldState optional properties to non-optional
    clear native date inputs correctly in signal forms when changed via native UI
    lazily instantiate signal form fields

    migrations

    Commit Description
    inject migration not work in multi-project workspace with option path

    platform-browser

    Commit Description
    remove Hammer integration

    Breaking Changes

    compiler-cli

    • Elements with multiple matching selectors will now throw at compile time.

    core

    • Component with undefined changeDetection property are now OnPush by default. Specify changeDetection: ChangeDetectionStrategy.Eager to keep the previous behavior.

    platform-browser

    • Hammer.js integration has been removed. Use your own implementation.
    Open source →
  39. 22.0.0-next.419 Mar 2026pre-release
    Release notes

    compiler

    Commit Description
    ensure generated code compiles
    parse named HTML entities containing digits
    stop generating unused field

    compiler-cli

    Commit Description
    escape template literal in TCB
    generic types not filled out correctly in type check block
    transform dropping exclamationToken from properties

    core

    Commit Description
    re-introduce nested leave animations scoped to component boundaries
    TestBed.getFixture -> TestBed.getLastFixture and update implementation
    clean up dehydrated views during HMR component replacement
    run linked signal equality check without reactive consumer
    remove checkNoChanges from the public API.

    forms

    Commit Description
    support ngNoCva as an opt-out for ControlValueAccessors
    template & reactive support for FVC
    support generic unions in signal form schemas

    language-service

    Commit Description
    add Document Symbols support for Angular templates

    migrations

    Commit Description
    prevent trailing comma syntax errors after removing NgStyle

    router

    Commit Description
    Add options optional parameter for withComponentInputBinding

    service-worker

    Commit Description
    preserve redirect policy on reconstructed asset requests

    Breaking Changes

    core

    • Leave animations are no longer limited to the element being removed.
    • ChangeDetectorRef.checkNoChanges was removed. In tests use fixture.detectChanges() instead.
    Open source →
  40. 22.0.0-next.312 Mar 2026pre-release
    Release notes

    compiler

    Commit Description
    disallow translations of iframe src

    core

    Commit Description
    reverts "feat(core): add support for nested animations"
    sanitize translated form attributes
    Open source →
  41. 22.0.0-next.211 Mar 2026pre-release
    Release notes

    core

    Commit Description
    allow debouncing signals
    ensure definitions compile
    include signal debug names in their toString() representation
    sanitize translated attribute bindings with interpolations
    remove createNgModuleRef

    forms

    Commit Description
    restrict SignalFormsConfig to a readonly API

    language-service

    Commit Description
    add angular template inlay hints support

    Breaking Changes

    core

    • createNgModuleRef was removed, use createNgModule instead
    Open source →
  42. 22.0.0-next.15 Mar 2026pre-release
    Release notes

    compiler

    Commit Description
    prevent mutation of children array in RecursiveVisitor

    compiler-cli

    Commit Description
    ignore generated ngDevMode signal branch for code coverage

    forms

    Commit Description
    add 'blur' option to debounce rule

    migrations

    Commit Description
    avoid generating invalid code in ChangeDetectionStrategy.Eager migration
    Open source →
  43. 22.0.0-next.04 Mar 2026pre-release
    Release notes

    Commit Description
    update minimum supported Node.js versions

    compiler

    Commit Description
    Don't bind inputs/outputs for data- attributes
    throw on duplicate input/outputs
    throw on invalid in expressions

    compiler-cli

    Commit Description
    always parenthesize object literals in TCB

    core

    Commit Description
    add IdleRequestOptions support to IdleService
    Add a schematics to migrate provideHttpClient to keep using the HttpXhrBackend implementation.
    Add migration to add ChangeDetectionStrategy.Eager where applicable
    add special return statuses for resource params
    add TestBed.getFixture
    support customization of @defer's on idle behavior
    Support optional timeout for idle deferred triggers
    bind global context to idle callback shims in @defer's idle service
    enhance AnimationCallbackEvent.animationComplete signature

    forms

    Commit Description
    split the touched model into an input and touch output
    Untrack setValue in reactive forms

    http

    Commit Description
    Use FetchBackend as default for the HttpBackend implementation

    language-service

    Commit Description
    Add support for idle timeout in defer blocks

    router

    Commit Description
    adds browserUrl input support to router links
    remove deprecated provideRoutes function.

    upgrade

    Commit Description
    remove getAngularLib/setAngularLib

    Breaking Changes

    • Node.js v20 is no longer supported. The minimum supported Node.js versions are now v22.22.0 and v24.13.1.

    compiler

    • data prefixed attribute no-longer bind inputs nor outputs.
    • The compiler will throw when there a when inputs, outputs or model are binding to the same input/outputs.
    • in variables will throw in template expressions.

    core

    • change AnimationCallbackEvent.animationComplete signature

    http

    • Use the HttpXhrBackend with provideHttpClient(withXhr) if you want to keep supporting upload progress reports.

    router

    • provideRoutes() has been removed. Use provideRouter() or ROUTES as multi token if necessary.

    upgrade

    • Deprecated getAngularLib/setAngularLib have been removed use getAngularJSGlobal/setAngularJSGlobal instead.

    Deprecations

    http

    • withFetch is now deprecated, it can be safely removed.
    Open source →
  44. 21.2.2226 Aug 2026
    Release notes

    platform-server

    Commit Description
    avoid stripping unicode whitespace during url resolution
    update domino to latest version
    Open source →
    Additional notes

    platform-server

    Commit Type Description
    5aa6d97deb fix avoid stripping unicode whitespace during url resolution
    73d8bbd27c fix update domino to latest version

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  45. 21.2.2119 Aug 2026
    Release notes

    platform-browser

    Commit Description
    disallow event handler attributes in Meta
    Open source →
    Additional notes

    platform-browser

    Commit Type Description
    c19a36c2fb fix disallow event handler attributes in Meta

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.1.2"></a>

    Open source →
  46. 21.2.2013 Aug 2026
    Release notes

    core

    Commit Description
    sanitize host bindings on concrete hosts

    http

    Commit Description
    match header values exactly when deleting
    preserve immutability of materialized clones
    run root interceptors in the terminal request chain
    Open source →
    Additional notes

    core

    Commit Description
    sanitize host bindings on concrete hosts

    http

    Commit Description
    match header values exactly when deleting
    preserve immutability of materialized clones
    run root interceptors in the terminal request chain
    Open source →
    Additional notes

    core

    Commit Type Description
    6afe6fa781 fix sanitize host bindings on concrete hosts

    http

    Commit Type Description
    fec5977df4 fix match header values exactly when deleting
    e33d69a71c fix preserve immutability of materialized clones
    caf616670f fix run root interceptors in the terminal request chain

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  47. 21.2.1929 Jul 2026
    Release notes

    compiler

    Commit Description
    disallow i18n event attributes
    restrict possible event handler check to property names longer than 2 characters

    http

    Commit Description
    distinguish repeated transfer cache params
    enable xsrf for root-provided HttpClient

    platform-server

    Commit Description
    update domino to latest version
    Open source →
    Additional notes

    compiler

    Commit Type Description
    e2660c3dee fix disallow i18n event attributes
    7b884f585a fix restrict possible event handler check to property names longer than 2 characters

    http

    Commit Type Description
    948a8d6831 fix distinguish repeated transfer cache params
    9949dccce1 fix enable xsrf for root-provided HttpClient

    platform-server

    Commit Type Description
    f34a93c946 fix update domino to latest version

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  48. 21.2.188 Jul 2026
    Release notes

    compiler-cli

    Commit Description
    update babel dependencies to latest v7

    core

    Commit Description
    avoid caching missing locale data
    reject dynamic script host elements

    http

    Commit Description
    prevent caching of responses with Set-Cookie headers

    service-worker

    Commit Description
    preserve referrer in asset requests
    preserve referrer policy in asset requests
    Open source →
    Additional notes

    compiler-cli

    Commit Type Description
    8d22cc953b fix update babel dependencies to latest v7

    core

    Commit Type Description
    6bcce117fb fix avoid caching missing locale data
    5a693bafcd fix reject dynamic script host elements

    http

    Commit Type Description
    91df739b80 fix prevent caching of responses with Set-Cookie headers

    service-worker

    Commit Type Description
    1804f73bec fix preserve referrer in asset requests
    e86c31bf26 fix preserve referrer policy in asset requests

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="22.0.6"></a>

    Open source →
  49. 21.2.1710 Jun 2026
    Release notes

    common

    Commit Description
    Limits date format string length
    skip transfer cache for uncacheable HTTP traffic
    use cryptographically secure SHA-256 for transfer cache key generation

    compiler

    Commit Description
    sanitize two-way properties

    core

    Commit Description
    harden TransferState restoration against DOM clobbering
    validate lowercase SVG animation attribute names (#69269)

    http

    Commit Description
    preserve empty referrer option in HttpRequest
    Rejects non-HTTP(S) URLs in JSONP requests
    skip transfer cache for fetch credentialed requests

    platform-server

    Commit Description
    harden platform location origin validation during SSR
    deprecate ServerXhr (#69255)

    service-worker

    Commit Description
    Strips sensitive headers on cross-origin redirects

    Deprecations

    platform-server

    • XHR support in @angular/platform-server is deprecated. Use standard fetch APIs instead.
    Open source →
    Additional notes

    Deprecations

    platform-server

    • XHR support in @angular/platform-server is deprecated. Use standard fetch APIs instead.

    common

    Commit Type Description
    86a56dc279 fix Limits date format string length
    d846326b07 fix skip transfer cache for uncacheable HTTP traffic
    bc55749698 fix use cryptographically secure SHA-256 for transfer cache key generation

    compiler

    Commit Type Description
    dc9c99636d fix sanitize two-way properties

    core

    Commit Type Description
    1523061137 fix harden TransferState restoration against DOM clobbering
    88832c84f8 fix validate lowercase SVG animation attribute names (#69269)

    http

    Commit Type Description
    bcb1b7ea25 fix preserve empty referrer option in HttpRequest
    a810a319d1 fix Rejects non-HTTP(S) URLs in JSONP requests
    e245d40c4d fix skip transfer cache for fetch credentialed requests

    platform-server

    Commit Type Description
    35510746b7 fix harden platform location origin validation during SSR
    13fb0afe93 refactor deprecate ServerXhr (#69255)

    service-worker

    Commit Type Description
    b9d29381bb fix Strips sensitive headers on cross-origin redirects

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  50. 21.2.163 Jun 2026
    Release notes

    common

    Commit Description
    only strip a literal /index.html suffix from URLs

    compiler

    Commit Description
    move projection attributes into constants

    core

    Commit Description
    harden inherit definition feature against polluted prototypes
    use Object.create(null) for LOCALE_DATA as a hardening measure

    platform-server

    Commit Description
    throw on suspicious URLs and restrict protocol-relative URLs
    update domino to latest version
    Open source →
    Additional notes

    common

    Commit Type Description
    f6d8e642b0 fix only strip a literal /index.html suffix from URLs

    compiler

    Commit Type Description
    ae1c8a1f7a fix move projection attributes into constants

    core

    Commit Type Description
    3fd6897a67 fix harden inherit definition feature against polluted prototypes
    7e38336dc7 fix use Object.create(null) for LOCALE_DATA as a hardening measure

    platform-server

    Commit Type Description
    66821c4ed5 fix throw on suspicious URLs and restrict protocol-relative URLs
    d3170031b6 fix update domino to latest version

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →
  51. 21.2.1528 May 2026
    Release notes

    common

    Commit Description
    add upper bounds for digitsInfo
    sanitize placeholder

    compiler

    Commit Description
    normalize tag names with custom namespaces in DomElementSchemaRegistry (#68925)
    prevent namespaced SVG <style> elements from being stripped
    sanitize dynamic href and xlink:href bindings on SVG a elements (#68925)
    strip namespaced SVG script elements during template compilation (#68925)

    core

    Commit Description
    normalize tag names in runtime i18n attribute security context lookup (#68925)
    sanitize meta selectors
    support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (#68925)
    synchronize core sanitization schema with compiler (#68925)

    http

    Commit Description
    exclude withCredentials requests from transfer cache
    skip TransferCache for cookie-bearing requests by default

    platform-server

    Commit Description
    prevent SSRF bypasses via backslash URLs in HttpClient
    secure location and document initialization against SSRF and path hijack

    service-worker

    Commit Description
    Preserves explicit 'credentials: omit' in asset requests
    Preserves HTTP cache mode in asset group requests
    Open source →
    Additional notes

    common

    Commit Type Description
    7f4ac78994 fix add upper bounds for digitsInfo
    300f61feb3 fix sanitize placeholder

    compiler

    Commit Type Description
    0b07f47bd6 fix normalize tag names with custom namespaces in DomElementSchemaRegistry (#68925)
    eb1cbbf2eb fix prevent namespaced SVG <style> elements from being stripped
    cc1378d54b fix sanitize dynamic href and xlink:href bindings on SVG a elements (#68925)
    782e01594e fix strip namespaced SVG script elements during template compilation (#68925)

    core

    Commit Type Description
    ff12fe55ac fix normalize tag names in runtime i18n attribute security context lookup (#68925)
    e6fe77cc97 fix sanitize meta selectors
    daaf32937f fix support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation (#68925)
    dada86e43d fix synchronize core sanitization schema with compiler (#68925)

    http

    Commit Type Description
    582a417bd2 fix exclude withCredentials requests from transfer cache
    5c6d6df34b fix skip TransferCache for cookie-bearing requests by default

    platform-server

    Commit Type Description
    37e8aadf87 fix prevent SSRF bypasses via backslash URLs in HttpClient
    72696e244e fix secure location and document initialization against SSRF and path hijack

    service-worker

    Commit Type Description
    b8bd49341d fix Preserves explicit 'credentials: omit' in asset requests
    ca32fc1000 fix Preserves HTTP cache mode in asset group requests

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="19.2.24"></a>

    Open source →
  52. 21.2.1420 May 2026
    Release notes

    compiler

    Commit Description
    strip namespaced SVG script elements during template compilation

    core

    Commit Description
    do not insert todo when migrating void @Output
    makes resource URL sanitizer lookup case-insensitive
    reject script element as a dynamic component host
    visit ICU expressions in signal migration schematics

    router

    Commit Description
    skip scroll-to-top on initial navigation when hydrating
    Open source →
    Additional notes

    compiler

    Commit Type Description
    68282dff9f fix strip namespaced SVG script elements during template compilation

    core

    Commit Type Description
    c0f52272ed fix do not insert todo when migrating void @Output
    938a7f3edd fix makes resource URL sanitizer lookup case-insensitive
    0fb2724194 fix reject script element as a dynamic component host
    49113ac0ef fix visit ICU expressions in signal migration schematics

    router

    Commit Type Description
    099bf577ee fix skip scroll-to-top on initial navigation when hydrating

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.13"></a>

    Open source →
  53. 21.2.1313 May 2026
    Release notes

    core

    Commit Description
    disallow event attribute bindings in host bindings unconditionally

    platform-server

    Commit Description
    add allowedHosts option to renderModule and renderApplication
    forward BEFORE_APP_SERIALIZED errors to ErrorHandler
    Open source →
    Additional notes

    core

    Commit Type Description
    1c6553e97d fix disallow event attribute bindings in host bindings unconditionally

    platform-server

    Commit Type Description
    629905d537 fix add allowedHosts option to renderModule and renderApplication
    0b7192f441 fix forward BEFORE_APP_SERIALIZED errors to ErrorHandler

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="19.2.22"></a>

    Open source →
  54. 21.2.126 May 2026
    Release notes

    core

    Commit Description
    allow explicit read generic with signal input transforms
    i18n flags leaking on errors
    respect ngSkipHydration on components with projectable nodes in LContainers
    sanitizer typings
    validate security-sensitive attributes in i18n bindings
    visit ng-let expression value in signal migration schematics

    forms

    Commit Description
    prohibit concurrent submits in signal forms
    Open source →
    Additional notes

    core

    Commit Type Description
    fe13bb669d fix allow explicit read generic with signal input transforms
    3430251fef fix i18n flags leaking on errors
    1aeebbe304 fix respect ngSkipHydration on components with projectable nodes in LContainers
    9e38ed7d57 fix sanitizer typings
    7a05a9a71a fix validate security-sensitive attributes in i18n bindings
    c37f6ca42f fix visit ng-let expression value in signal migration schematics

    forms

    Commit Type Description
    03ad53863b fix prohibit concurrent submits in signal forms

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="20.3.20"></a>

    Open source →
  55. 21.2.1129 Apr 2026
    Release notes

    common

    Commit Description
    prevent focus from scrollToAnchor

    compiler

    Commit Description
    let declaration span not including end character

    core

    Commit Description
    fix ordering of view queries metadata in JIT mode
    guard against non-object events and avoid listener wrapper identity mismatch
    prevent event replay double-invocation when element hydrates before app stability

    platform-server

    Commit Description
    ensure origin has a trailing slash when parsing url
    Open source →
    Additional notes

    common

    Commit Type Description
    10ad3c0692 fix prevent focus from scrollToAnchor

    compiler

    Commit Type Description
    4f5d8a2c0b fix let declaration span not including end character

    core

    Commit Type Description
    a40e2cebc8 fix fix ordering of view queries metadata in JIT mode
    885a1a1d97 fix guard against non-object events and avoid listener wrapper identity mismatch
    7a64aff9b5 fix prevent event replay double-invocation when element hydrates before app stability

    platform-server

    Commit Type Description
    be1f80a253 fix ensure origin has a trailing slash when parsing url

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.10"></a>

    Open source →
  56. 21.2.1022 Apr 2026
    Release notes

    docs

    Commit Description
    link formatting in "Animating your Application with CSS"

    migrations

    Commit Description
    fix NgClass leaving trailing comma after removal

    router

    Commit Description
    restore internal URL on popstate when browserUrl is used
    Open source →
    Additional notes

    docs

    Commit Type Description
    0d5ee9ae1b fix link formatting in "Animating your Application with CSS"

    migrations

    Commit Type Description
    5533ab4f56 fix fix NgClass leaving trailing comma after removal

    router

    Commit Type Description
    580212c995 fix restore internal URL on popstate when browserUrl is used

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="19.2.21"></a>

    Open source →
  57. 21.2.915 Apr 2026
    Release notes

    core

    Commit Description
    escape forward slashes in transfer state to prevent crawler indexing

    http

    Commit Description
    add CSP nonce support to JsonpClientBackend
    Don't on Passthru outside of reactive context

    platform-server

    Commit Description
    prevent SSRF bypasses via protocol-relative and backslash URLs

    router

    Commit Description
    normalize multiple leading slashes in URL parser
    Open source →
    Additional notes

    core

    Commit Type Description
    f603d4714f fix escape forward slashes in transfer state to prevent crawler indexing

    http

    Commit Type Description
    540536c386 fix add CSP nonce support to JsonpClientBackend
    63a857b874 fix Don't on Passthru outside of reactive context

    platform-server

    Commit Type Description
    e0b5078cf2 fix prevent SSRF bypasses via protocol-relative and backslash URLs

    router

    Commit Type Description
    684e9fd53d fix normalize multiple leading slashes in URL parser

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.8"></a>

    Open source →
  58. 21.2.88 Apr 2026
    Release notes

    compiler

    Commit Description
    handle nested brackets in host object bindings

    compiler-cli

    Commit Description
    error for type parameter declarations

    core

    Commit Description
    handle missing serialized container hydration data
    remove obsolete iOS cursor pointer hack in event delegation

    language-service

    Commit Description
    get quick info at local var location to align with TS semantics and support type narrowing
    Open source →
    Additional notes

    compiler

    Commit Type Description
    e40d378f3e fix handle nested brackets in host object bindings

    compiler-cli

    Commit Type Description
    2c6781071f fix error for type parameter declarations

    core

    Commit Type Description
    82192deda9 fix handle missing serialized container hydration data
    057cc6d09d fix remove obsolete iOS cursor pointer hack in event delegation

    language-service

    Commit Type Description
    7797671257 fix get quick info at local var location to align with TS semantics and support type narrowing

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.7"></a>

    Open source →
  59. 21.2.71 Apr 2026
    Release notes

    compiler

    Commit Description
    register SVG animation attributes in URL security context (#67797)

    compiler-cli

    Commit Description
    prevent recursive scope checks for invalid NgModule imports

    core

    Commit Description
    prevent binding unsafe attributes on SVG animation elements (#67797)
    resolve component import by exact specifier in route lazy-loading schematic
    treat object[data] as resource URL context (#67797)

    localize

    Commit Description
    validate locale in getOutputPathFn to prevent path traversal

    router

    Commit Description
    pass outlet context to split to fix empty path named outlets
    Open source →
    Additional notes

    compiler

    Commit Type Description
    fea25d1a60 fix register SVG animation attributes in URL security context (#67797)

    compiler-cli

    Commit Type Description
    bba5ed8e64 fix prevent recursive scope checks for invalid NgModule imports

    core

    Commit Type Description
    d04ddd73df fix prevent binding unsafe attributes on SVG animation elements (#67797)
    8fd896e99a fix resolve component import by exact specifier in route lazy-loading schematic
    b682c62873 fix treat object[data] as resource URL context (#67797)

    localize

    Commit Type Description
    3c41e74fdd fix validate locale in getOutputPathFn to prevent path traversal

    router

    Commit Type Description
    0960592d3d fix pass outlet context to split to fix empty path named outlets

    <!-- CHANGELOG SPLIT MARKER -->

    <a name="21.2.6"></a>

    Open source →
  60. 21.2.625 Mar 2026
    Release notes

    common

    Commit Description
    avoid redundant image fetch on destroy with auto sizes

    compiler

    Commit Description
    prevent shimCssText from adding extra blank lines per CSS comment

    core

    Commit Description
    fixes a regression with animate.leave and reordering

    migrations

    Commit Description
    inject migration not work in multi-project workspace with option path
    Open source →
    Additional notes

    common

    Commit Type Description
    b4ab6ba2e8 fix avoid redundant image fetch on destroy with auto sizes

    compiler

    Commit Type Description
    880a57d4b3 fix prevent shimCssText from adding extra blank lines per CSS comment

    core

    Commit Type Description
    ad0156e056 fix fixes a regression with animate.leave and reordering

    migrations

    Commit Type Description
    73d6b01b47 fix inject migration not work in multi-project workspace with option path

    <!-- CHANGELOG SPLIT MARKER -->

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

    Open source →