Angular - commonly needed directives and services
Last release today
27 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
1100 releases · first in 2016
Release timeline
1100 releases since 2016Releases
- 22.2.0-next.319 Aug 2026pre-release
Release notes
Open source →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
forms
Commit Description report forbidden 2way bindings on when FormFieldis appliedwarn 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 Additional notes
Open source →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 FormFieldis applied38d093232c 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>
- 22.2.0-next.213 Aug 2026pre-release
Release notes
Open source →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 Additional notes
Open source →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 Additional notes
Open source →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>
- 22.2.0-next.17 Aug 2026pre-release
Release notes
Open source →core
Commit Description initialize hydration triggers after late runtime activation warn when style property bindings receive invalid values http
Additional notes
Open source →core
Commit Description initialize hydration triggers after late runtime activation warn when style property bindings receive invalid values http
Additional notes
Open source →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>
- 22.2.0-next.029 Jul 2026pre-release
Additional notes
Open source →forms
Commit Type Description d5e8b1ef7a feat allow permanent hidden fields in signal forms <!-- CHANGELOG SPLIT MARKER -->
<a name="21.2.19"></a>
- 22.1.427 Aug 2026
Release notes
Open source →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
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 Additional notes
Open source →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>
- 22.1.319 Aug 2026
Release notes
Open source →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
forms
Commit Description report forbidden 2way bindings on when FormFieldis appliedwarn 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 Additional notes
Open source →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 FormFieldis applied5cb4ea7e35 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>
- 22.1.213 Aug 2026
Release notes
Open source →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 Additional notes
Open source →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 Additional notes
Open source →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>
- 22.1.17 Aug 2026
Release notes
Open source →core
Commit Description initialize hydration triggers after late runtime activation warn when style property bindings receive invalid values http
Additional notes
Open source →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>
- 22.1.029 Jul 2026
Release notes
Open source →common
Commit Description skip transfer cache for uncacheable HTTP traffic (#69017) compiler
compiler-cli
Commit Description allow passing uninvoked signals as foreign component props support import aliases in foreignImports (#68674) core
forms
Commit Description add utility to assert that value is a field tree http
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/elsekeywords in control flow migrationplatform-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.
Additional notes
Open source →- 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)
Additional notes
Open source →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 @content56607967db 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/elsekeywords in control flow migrationplatform-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>
- 22.1.0-rc.022 Jul 2026pre-release
Release notes
Open source →common
Commit Description preserve crossorigin on image preloads core
Commit Description ensure SVG animation attributeName is checked case-insensitively forms
Commit Description ensure pendingstatus propagates to the root form in signal formshttp
Commit Description prevent transfer cache key collisions migrations
Commit Description correctly migrate ngClass with mixed space-separated keys preserve NgClass import on partial migration - 22.1.0-next.616 Jul 2026pre-release
Release notes
Open source →common
Commit Description avoid prototype lookups in date format caches compiler
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 - 22.1.0-next.58 Jul 2026pre-release
Release notes
Open source →compiler
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 - 22.1.0-next.41 Jul 2026pre-release
Release notes
Open source →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 - 22.1.0-next.326 Jun 2026pre-release
Release notes
Open source → - 22.1.0-next.225 Jun 2026pre-release
Release notes
Open source →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 - 22.1.0-next.117 Jun 2026pre-release
Release notes
Open source →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
http
Commit Description distinguish repeated transfer cache params migrations
Commit Description migration skip any target are not build or test - 22.1.0-next.010 Jun 2026pre-release
Release notes
Open source →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
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.
- 22.0.822 Jul 2026
Release notes
Open source →common
Commit Description preserve crossorigin on image preloads core
Commit Description ensure SVG animation attributeName is checked case-insensitively forms
Commit Description ensure pendingstatus propagates to the root form in signal formshttp
Commit Description prevent transfer cache key collisions migrations
Commit Description correctly migrate ngClass with mixed space-separated keys preserve NgClass import on partial migration Additional notes
Open source →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 pendingstatus propagates to the root form in signal formshttp
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>
- 22.0.716 Jul 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 22.0.68 Jul 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 22.0.51 Jul 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 22.0.426 Jun 2026
Release notes
Open source →Additional notes
Open source →migrations
Commit Type Description fd37f09f37 fix resolve migration failure when tsconfig specifies rootDir <!-- CHANGELOG SPLIT MARKER -->
<a name="22.0.3"></a>
- 22.0.325 Jun 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 22.0.217 Jun 2026
Release notes
Open source →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
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 Additional notes
Open source →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>
- 22.0.110 Jun 2026
Release notes
Open source →common
compiler
compiler-cli
Commit Description bind switch exhaustive check expressions core
forms
http
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-serveris deprecated. Use standardfetchAPIs instead. (cherry picked from commit 8446e46f8bc33bd4419fa7f6106b8d117ca2e099)
Additional notes
Open source →Deprecations
platform-server
- XHR support in
@angular/platform-serveris deprecated. Use standardfetchAPIs 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:hrefattributes of any element of the MathML namespace393b84caf8 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 tick85d2d100e3 fix harden FormGroup control lookups against prototype shadowing e51ad374ea fix remove animationstart listener on component destroy to prevent memory leak 55b7b5a6b6 fix set additionalProperties: falseon generated WebMCP formhttp
Commit Type Description ffb06c0514 fix ensure query parameters are inserted before URL fragments 2dd65d21e6 fix pass down the reportUploadProgressandreportDownloadProgresson post/patch requests4254eb416c 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>
- XHR support in
- 22.0.03 Jun 2026
Release notes
Open source →compiler
compiler-cli
core
forms
http
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 @Inputwith transformsmigrations
platform-browser
Commit Description make incremental hydration default behavior remove unused styles when associated hostis droppedremove Hammer integration router
service-worker
Commit Description resolve TS 6.0 compatibility for messageerror listener upgrade
Commit Description remove getAngularLib/setAngularLibBreaking Changes
compiler
- This change will trigger the
nullishCoalescingNotNullableandoptionalChainNotNullablediagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in yourtsconfigtemporarily. - 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.
invariables 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
anyanymore. 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
changeDetectionproperty are nowOnPushby default. SpecifychangeDetection: ChangeDetectionStrategy.Eagerto keep the previous behavior. - change AnimationCallbackEvent.animationComplete signature
ChangeDetectorRef.checkNoChangeswas removed. In tests usefixture.detectChanges()instead.createNgModuleRefwas removed, usecreateNgModuleinsteadComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentFunction.ComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentfunction.streamResource(which includesrxResource) 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
minandmaxvalidation rules no longer support string values. Bound values must be numbers or null.
http
- Use the
HttpXhrBackendwithprovideHttpClient(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 leveragingViewEncapsulation.Emulatedor 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.getResolvedTitleForRoutewas previously 'any' while the actual return type could only be eitherstringorundefined. 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
currentSnapshotparameter inCanMatchFnand thecanMatchmethod of theCanMatchinterface is now required. While this was already the behavior of the Router at runtime, existing class implementations ofCanMatchmust 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. UseprovideRouter()orROUTESas multi token if necessary.
upgrade
- Deprecated
getAngularLib/setAngularLibhave been removed usegetAngularJSGlobal/setAngularJSGlobalinstead.
Deprecations
http
withFetchis now deprecated, it can be safely removed.- The
reportProgressoption is deprecated please usereportUploadProgress&reportDownloadProgressinstead.
Additional notes
Open source →Blog post "Announcing Angular v22".
Breaking Changes
compiler
- This change will trigger the
nullishCoalescingNotNullableandoptionalChainNotNullablediagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in yourtsconfigtemporarily. - 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.
invariables 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
anyanymore. 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
changeDetectionproperty are nowOnPushby default. SpecifychangeDetection: ChangeDetectionStrategy.Eagerto keep the previous behavior. - change AnimationCallbackEvent.animationComplete signature
ChangeDetectorRef.checkNoChangeswas removed. In tests usefixture.detectChanges()instead.createNgModuleRefwas removed, usecreateNgModuleinsteadComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentFunction.ComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentfunction.
forms
minandmaxvalidation rules no longer support string values. Bound values must be numbers or null.
http
- Use the
HttpXhrBackendwithprovideHttpClient(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 leveragingViewEncapsulation.Emulatedor 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.getResolvedTitleForRoutewas previously 'any' while the actual return type could only be eitherstringorundefined. 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
currentSnapshotparameter inCanMatchFnand thecanMatchmethod of theCanMatchinterface is now required. While this was already the behavior of the Router at runtime, existing class implementations ofCanMatchmust 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. UseprovideRouter()orROUTESas multi token if necessary.
upgrade
- Deprecated
getAngularLib/setAngularLibhave been removed usegetAngularJSGlobal/setAngularJSGlobalinstead.
Deprecations
http
withFetchis now deprecated, it can be safely removed.- The
reportProgressoption is deprecated please usereportUploadProgress&reportDownloadProgressinstead.
compiler
Commit Type Description 47fcbc4704 feat allow safe navigation to correctly narrow down nullables 2896c93cc1 feat Angular expressions with optional chaining returns undefinede850643b1b 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-attributes2c5aabb9da 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 IdleRequestOptionssupport toIdleService3b0ae5fef0 feat add provideWebMcpTools444b024d49 feat Add a injectAsynchelper function3bc095d508 feat Add a schematics to migrate provideHttpClientto keep using theHttpXhrBackendimplementation.5a7c1e62dc feat add ability to cache resources for SSR cb4cb77053 feat Add migration to add ChangeDetectionStrategy.Eagerwhere applicable2206efa55f 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 ApplicationRefwith config9c55fcb3e6 feat de-duplicate host directives 8fe025f514 feat drop support for TypeScript 5.9 2f5ab541ea feat enhance profiling with documentation URLs ef1810197b feat export experimental declareWebMcpToolsupport75f2cb8f56 feat implement Angular DI graph in-page AI tool 8f3d0b9d97 feat introduce @Servicedecoratordf659b8d0c 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 checkNoChangesfrom the public API.36936872c9 refactor remove createNgModuleRef9d76ac8229 refactor remove ComponentFactoryResolver & ComponentFactory from the api surface b1f5181ffd refactor remove ComponentFactoryResolver & ComponentFactory from the api surface"" forms
Commit Type Description 74f76d8075 feat add reloadValidationto Signal Forms to manually trigger async validation24e52d450d 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 FormRootto 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 SignalFormsConfigto a readonly APIfb166772d2 fix split the touchedmodel into an input andtouchoutput83032e3605 fix support generic unions in signal form schemas 68c3abbe09 fix synchronize controls with the model on reset 2061fd8253 fix Untrack setValuein reactive forms72d3ace03c 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 FetchBackendas default for theHttpBackendimplementationf7b3ed8db2 fix Introduce a max buffer size for fetch requests on SSR e6cfaf5672 fix prevent httpResourcefrom leaking a subscription7c8c3347ef refactor Add reportUploadProgress&reportDownloadProgressoptionslanguage-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 @Inputwith transformsmigrations
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 hostis droppedf99e7ed20f refactor remove Hammer integration router
Commit Type Description 89c9a4de30 feat Add optionsoptional parameter forwithComponentInputBindingc84642ac16 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 provideRoutesfunction.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>
- This change will trigger the
- 22.0.0-rc.31 Jun 2026pre-release
Release notes
Open source →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 - 22.0.0-rc.228 May 2026pre-release
Release notes
Open source →common
Commit Description add upper bounds for digitsInfo sanitize placeholder compiler
core
forms
Commit Description avoid redundant invalidations in parser errors signal http
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 - 22.0.0-rc.120 May 2026pre-release
Release notes
Open source →compiler
Commit Description strip namespaced SVG script elements during template compilation core
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.getResolvedTitleForRoutewas previously 'any' while the actual return type could only be eitherstringorundefined. The return type now reflects the possible values correctly. Code that reads the value may need to be adjusted.(cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89)
-
- 22.0.0-rc.013 May 2026pre-release
Release notes
Open source →compiler
platform-server
Commit Description forward BEFORE_APP_SERIALIZED errors to ErrorHandler - 22.0.0-next.128 May 2026pre-release
Release notes
Open source →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 allowedHostsoption torenderModuleandrenderApplication - 22.0.0-next.116 May 2026pre-release
Release notes
Open source →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
forms
http
Commit Description Add reportUploadProgress&reportDownloadProgressoptionslanguage-service
Commit Description Add support for @Inputwith transformsrouter
Commit Description add unmatchedInputBehavior option to componentInputBinding Breaking Changes
forms
minandmaxvalidation rules no longer support string values. Bound values must be numbers or null.
Deprecations
http
- The
reportProgressoption is deprecated please usereportUploadProgress&reportDownloadProgressinstead.
- 22.0.0-next.1029 Apr 2026pre-release
Release notes
Open source →common
Commit Description prevent focus from scrollToAnchor compiler
Commit Description Angular expressions with optional chaining returns undefinedlet declaration span not including end character core
migrations
Commit Description model + output migrations platform-server
Commit Description ensure origin has a trailing slash when parsing url - 22.0.0-next.922 Apr 2026pre-release
Release notes
Open source →core
Commit Description introduce @ServicedecoratorUpdate 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 browserUrlis usedset 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.
-
- 22.0.0-next.815 Apr 2026pre-release
Release notes
Open source →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
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
nullishCoalescingNotNullableandoptionalChainNotNullablediagnostics on exisiting projects. You might want to disable those 2 diagnotiscs in yourtsconfigtemporarily.
- This change will trigger the
- 22.0.0-next.78 Apr 2026pre-release
Release notes
Open source →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
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 hostis droppedrouter
Commit Description make currentSnapshot required in CanMatchFn (#67452) Breaking Changes
core
- The second arguement of appRef.bootstrap does not accept
anyanymore. Make sure the element you pass is not nullable. -
- TypeScript versions older than 6.0 are no longer supported.
ComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentFunction.ComponentFactoryResolverandComponentFactoryare no longer available. Pass the component class directly to APIs that previously required a factory, such asViewContainerRef.createComponentor use the standalonecreateComponentfunction.
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 leveragingViewEncapsulation.Emulatedor if those styles are used by elements outside of Angular, potentially causing other DOM to appear unstyled.
router
- The
currentSnapshotparameter inCanMatchFnand thecanMatchmethod of theCanMatchinterface is now required. While this was already the behavior of the Router at runtime, existing class implementations ofCanMatchmust now include the third argument to satisfy the interface.
- The second arguement of appRef.bootstrap does not accept
- 22.0.0-next.61 Apr 2026pre-release
Release notes
Open source →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
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 - 22.0.0-next.525 Mar 2026pre-release
Release notes
Open source →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
forms
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
changeDetectionproperty are nowOnPushby default. SpecifychangeDetection: ChangeDetectionStrategy.Eagerto keep the previous behavior.
platform-browser
- Hammer.js integration has been removed. Use your own implementation.
- 22.0.0-next.419 Mar 2026pre-release
Release notes
Open source →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
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 optionsoptional parameter forwithComponentInputBindingservice-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.checkNoChangeswas removed. In tests usefixture.detectChanges()instead.
- 22.0.0-next.312 Mar 2026pre-release
Release notes
Open source →compiler
Commit Description disallow translations of iframe src core
Commit Description reverts "feat(core): add support for nested animations" sanitize translated form attributes - 22.0.0-next.211 Mar 2026pre-release
Release notes
Open source →core
forms
Commit Description restrict SignalFormsConfigto a readonly APIlanguage-service
Commit Description add angular template inlay hints support Breaking Changes
core
createNgModuleRefwas removed, usecreateNgModuleinstead
- 22.0.0-next.15 Mar 2026pre-release
Release notes
Open source →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 - 22.0.0-next.04 Mar 2026pre-release
Release notes
Open source →Commit Description update minimum supported Node.js versions compiler
Commit Description Don't bind inputs/outputs for data-attributesthrow on duplicate input/outputs throw on invalid in expressions compiler-cli
Commit Description always parenthesize object literals in TCB core
forms
Commit Description split the touchedmodel into an input andtouchoutputUntrack setValuein reactive formshttp
Commit Description Use FetchBackendas default for theHttpBackendimplementationlanguage-service
Commit Description Add support for idle timeout in defer blocks router
Commit Description adds browserUrl input support to router links remove deprecated provideRoutesfunction.upgrade
Commit Description remove getAngularLib/setAngularLibBreaking 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.
invariables will throw in template expressions.
core
- change AnimationCallbackEvent.animationComplete signature
http
- Use the
HttpXhrBackendwithprovideHttpClient(withXhr)if you want to keep supporting upload progress reports.
router
provideRoutes()has been removed. UseprovideRouter()orROUTESas multi token if necessary.
upgrade
- Deprecated
getAngularLib/setAngularLibhave been removed usegetAngularJSGlobal/setAngularJSGlobalinstead.
Deprecations
http
withFetchis now deprecated, it can be safely removed.
- 21.2.2226 Aug 2026
Release notes
Open source →platform-server
Commit Description avoid stripping unicode whitespace during url resolution update domino to latest version Additional notes
Open source →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>
- 21.2.2119 Aug 2026
Release notes
Open source →Additional notes
Open source →platform-browser
Commit Type Description c19a36c2fb fix disallow event handler attributes in Meta <!-- CHANGELOG SPLIT MARKER -->
<a name="22.1.2"></a>
- 21.2.2013 Aug 2026
Release notes
Open source →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 Additional notes
Open source →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 Additional notes
Open source →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>
- 21.2.1929 Jul 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 21.2.188 Jul 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 21.2.1710 Jun 2026
Release notes
Open source →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-serveris deprecated. Use standardfetchAPIs instead.
Additional notes
Open source →Deprecations
platform-server
- XHR support in
@angular/platform-serveris deprecated. Use standardfetchAPIs 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>
- XHR support in
- 21.2.163 Jun 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 21.2.1528 May 2026
Release notes
Open source →common
Commit Description add upper bounds for digitsInfo sanitize placeholder compiler
core
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 Additional notes
Open source →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>
- 21.2.1420 May 2026
Release notes
Open source →compiler
Commit Description strip namespaced SVG script elements during template compilation core
router
Commit Description skip scroll-to-top on initial navigation when hydrating Additional notes
Open source →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>
- 21.2.1313 May 2026
Release notes
Open source →core
Commit Description disallow event attribute bindings in host bindings unconditionally platform-server
Commit Description add allowedHostsoption torenderModuleandrenderApplicationforward BEFORE_APP_SERIALIZED errors to ErrorHandler Additional notes
Open source →core
Commit Type Description 1c6553e97d fix disallow event attribute bindings in host bindings unconditionally platform-server
Commit Type Description 629905d537 fix add allowedHostsoption torenderModuleandrenderApplication0b7192f441 fix forward BEFORE_APP_SERIALIZED errors to ErrorHandler <!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.22"></a>
- 21.2.126 May 2026
Release notes
Open source →core
forms
Commit Description prohibit concurrent submits in signal forms Additional notes
Open source →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>
- 21.2.1129 Apr 2026
Release notes
Open source →common
Commit Description prevent focus from scrollToAnchor compiler
Commit Description let declaration span not including end character core
platform-server
Commit Description ensure origin has a trailing slash when parsing url Additional notes
Open source →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>
- 21.2.1022 Apr 2026
Release notes
Open source →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 browserUrlis usedAdditional notes
Open source →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 browserUrlis used<!-- CHANGELOG SPLIT MARKER -->
<a name="19.2.21"></a>
- 21.2.915 Apr 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 21.2.88 Apr 2026
Release notes
Open source →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 Additional notes
Open source →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>
- 21.2.71 Apr 2026
Release notes
Open source →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
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 Additional notes
Open source →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>
- 21.2.625 Mar 2026
Release notes
Open source →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 Additional notes
Open source →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>