Bump the angular group across 1 directory with 11 updates #189

Closed
admin-backup wants to merge 1 commits from dependabot/npm_and_yarn/angular-9b7164113c into main
pull from: dependabot/npm_and_yarn/angular-9b7164113c
admin-backup commented 2026-02-27 21:48:08 +01:00 (Migrated from 172.24.0.1:8928)

Bumps the angular group with 11 updates in the / directory:

Package From To
@angular/animations 21.1.5 21.2.0
@angular/cdk 21.1.5 21.2.0
@angular/common 21.1.5 21.2.0
@angular/compiler 21.1.5 21.2.0
@angular/core 21.1.5 21.2.0
@angular/forms 21.1.5 21.2.0
@angular/material 21.1.5 21.2.0
@angular/platform-browser 21.1.5 21.2.0
@angular/platform-server 21.1.5 21.2.0
@angular/router 21.1.5 21.2.0
@angular/ssr 21.1.4 21.2.0

Updates @angular/animations from 21.1.5 to 21.2.0

Release notes

Sourced from @​angular/animations's releases.

VSCode Extension: 21.2.0

  • fix(vscode-extension): Highlight function calls with optional chaining (4f8d3995f0)
  • feat(language-service): add linked editing ranges for HTML tag synchronization (8c21866f49)
  • fix(vscode-extension): support highlighting for class bindings with brackets (01ed57f297)
  • feat(language-service): add JSON schema for angularCompilerOptions (496967e7b1)
  • fix(language-service): Detect local project version on creation (8a7cbd4668)
  • feat(language-server): Support client-side file watching via onDidChangeWatchedFiles (6fb39d9b62)
  • feat(language-server): Add completions and hover info for inline styles (ebc90c26f5)
  • feat(language-server): Add quick info for inline styles (573aadef7e)
  • feat(language-server): Add folding range support for inline styles (26fd0839c3)

21.2.0

common

Commit Description
feat - 18003a33bb add an 'outlet' injector option for ngTemplateOutlet
feat - 8bbe6dc46c Add Location strategies to manage trailing slash on write
feat - 51cc914807 support height in ImageLoaderConfig and built-in loaders

compiler

Commit Description
feat - 72534e2a34 Add support for the instanceof binary operator
feat - 95b3f37d4a Exhaustive checks for switch blocks
feat - 04ba09a8d9 support AstVisitor.visitEmptyExpr()
fix - ce80136e7b optimize away unnecessary restore/reset view calls
fix - 3242a61bae variable counter visiting some expressions twice

compiler-cli

Commit Description
fix - 473dd3e1cb attach source spans to object literal keys in TCB
fix - a904d9f77b support nested component declaration
fix - 2ea6dfc6c9 update diagnostic to flag no-op arrow functions in listeners

core

Commit Description
feat - 8d5210c9fe add ChangeDetectionStrategy.Eager alias for Default
feat - 92d2498910 add host node to DeferBlockData (#66546)
feat - ea2016a6dc add support for nested animations
feat - 81cabc1477 add support for TypeScript 6
feat - 1ba9b7ac50 resource composition via snapshots
feat - d9923b72a2 support arrow functions in expressions
fix - a7e8abbb7e correctly handle SkipSelf when resolving from embedded view injector
fix - 0806ee3826 prevent animated element duplication with dynamic components in zoneless mode
fix - ed78fa05c7 Remove note to skip arrow functions in best practices

forms

Commit Description
feat - f56bb07d83 add field param to submit action and onInvalid
feat - ba009b6031 add form directive
feat - 22afbb2f36 add parsing support to native inputs (#66917)

... (truncated)

Changelog

Sourced from @​angular/animations's changelog.

21.2.0 (2026-02-25)

common

Commit Type Description
18003a33bb feat add an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46c feat Add Location strategies to manage trailing slash on write
51cc914807 feat support height in ImageLoaderConfig and built-in loaders

compiler

Commit Type Description
72534e2a34 feat Add support for the instanceof binary operator
95b3f37d4a feat Exhaustive checks for switch blocks
04ba09a8d9 feat support AstVisitor.visitEmptyExpr()
ce80136e7b fix optimize away unnecessary restore/reset view calls
3242a61bae fix variable counter visiting some expressions twice

compiler-cli

Commit Type Description
473dd3e1cb fix attach source spans to object literal keys in TCB
a904d9f77b fix support nested component declaration
2ea6dfc6c9 fix update diagnostic to flag no-op arrow functions in listeners

core

Commit Type Description
8d5210c9fe feat add ChangeDetectionStrategy.Eager alias for Default
92d2498910 feat add host node to DeferBlockData (#66546)
ea2016a6dc feat add support for nested animations
81cabc1477 feat add support for TypeScript 6
1ba9b7ac50 feat resource composition via snapshots
d9923b72a2 feat support arrow functions in expressions
a7e8abbb7e fix correctly handle SkipSelf when resolving from embedded view injector
0806ee3826 fix prevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7 fix Remove note to skip arrow functions in best practices

forms

Commit Type Description
f56bb07d83 feat add field param to submit action and onInvalid
ba009b6031 feat add form directive
22afbb2f36 feat add parsing support to native inputs (#66917)
95c386469c feat Add passing focus options to form field
95ecce8334 feat allow setting submit options at form-level
ebae211add feat introduce parse errors in signal forms
3937afc316 feat introduce SignalFormControl for Reactive Forms compatibility
30f0914754 feat support binding null to number input (#66917)
dd208ca259 feat update submit function to accept options object
27397b3f4f fix clear parse errors when model updates (#66917)
63d8005703 fix preserve custom-control focus context in signal forms
631f60d1f9 fix preserve parse errors when parse returns value
adfb83146b fix simplify design of parse errors
fb05fc86d0 fix sort error summary by DOM order

... (truncated)

Commits

Updates @angular/cdk from 21.1.5 to 21.2.0

Release notes

Sourced from @​angular/cdk's releases.

21.2.0

material

Commit Description
fix - 8c4526935e core: expose strong focus indicator structural styles (#32808)
fix - 7fe3081148 datepicker: drop dependency on NgClass (#32810)

cdk

Commit Description
fix - cd5209e9f5 portal: allow bindings to be passed to component portal (#32814)
fix - e397ecbcfa table: remove string-based DI tokens (#32677)

aria

Commit Description
fix - 31ff7f26b5 grid: align output naming with styleguide
fix - d030725f46 menu: align output naming with styleguide

21.2.0-rc.0

No release notes provided.

21.2.0-next.5

google-maps

Commit Description
fix - 0870786036 fix mismatch in clusterer types (#32778)

material

Commit Description
fix - f5c586925e select: disable position locking (#32772)

cdk

Commit Description
fix - b15b48df98 tree: no nodes focusable if data is replaced (#32781)

aria

Commit Description
fix - c57e6a1545 combobox: fix autocomplete examples and add comments explaining combobox selection behavior (#32714)

21.2.0-next.4

material

Commit Description
fix - 4ff346bbb radio: hide empty labels (#32754)
fix - bee55117c slide-toggle: overly broad selector (#32740)
fix - 06750e02e tooltip: do not block events to other overlays

aria

Commit Description
perf - 70f8b6aac grid: performance when selecting in a large grid (#32766)

multiple

... (truncated)

Changelog

Sourced from @​angular/cdk's changelog.

21.2.0 "plastic-lion" (2026-02-25)

aria

Commit Type Description
31ff7f26b5 fix grid: align output naming with styleguide
d030725f46 fix menu: align output naming with styleguide

cdk

Commit Type Description
cd5209e9f5 fix portal: allow bindings to be passed to component portal (#32814)
e397ecbcfa fix table: remove string-based DI tokens (#32677)

material

Commit Type Description
8c4526935e fix core: expose strong focus indicator structural styles (#32808)
7fe3081148 fix datepicker: drop dependency on NgClass (#32810)

21.1.6 "plastic-monkey" (2026-02-25)

aria

Commit Type Description
50c34e6ef3 fix combobox: Adjust AutoComplete examples to properly announce no results text (#32786)

Commits
  • 37cffba release: cut the v21.2.0 release
  • eeacb0e ci: remove mmalerba from code reviewers (#32824)
  • cd5209e fix(cdk/portal): allow bindings to be passed to component portal (#32814)
  • 7fe3081 fix(material/datepicker): drop dependency on NgClass (#32810)
  • ef2f1cb build: set up schematics for v22 (#32806)
  • 8c45269 fix(material/core): expose strong focus indicator structural styles (#32808)
  • ddd5114 build: update dependencies and resolve breaking change (#32799)
  • f9e7149 build: update cross-repo angular dependencies (#32802)
  • e94e19c build: update pnpm to v10.30.0 (#32804)
  • 1c14bfb fix(aria/combobox): Adjust AutoComplete examples to properly announce no resu...
  • Additional commits viewable in compare view

Updates @angular/common from 21.1.5 to 21.2.0

Release notes

Sourced from @​angular/common's releases.

VSCode Extension: 21.2.0

  • fix(vscode-extension): Highlight function calls with optional chaining (4f8d3995f0)
  • feat(language-service): add linked editing ranges for HTML tag synchronization (8c21866f49)
  • fix(vscode-extension): support highlighting for class bindings with brackets (01ed57f297)
  • feat(language-service): add JSON schema for angularCompilerOptions (496967e7b1)
  • fix(language-service): Detect local project version on creation (8a7cbd4668)
  • feat(language-server): Support client-side file watching via onDidChangeWatchedFiles (6fb39d9b62)
  • feat(language-server): Add completions and hover info for inline styles (ebc90c26f5)
  • feat(language-server): Add quick info for inline styles (573aadef7e)
  • feat(language-server): Add folding range support for inline styles (26fd0839c3)

21.2.0

common

Commit Description
feat - 18003a33bb add an 'outlet' injector option for ngTemplateOutlet
feat - 8bbe6dc46c Add Location strategies to manage trailing slash on write
feat - 51cc914807 support height in ImageLoaderConfig and built-in loaders

compiler

Commit Description
feat - 72534e2a34 Add support for the instanceof binary operator
feat - 95b3f37d4a Exhaustive checks for switch blocks
feat - 04ba09a8d9 support AstVisitor.visitEmptyExpr()
fix - ce80136e7b optimize away unnecessary restore/reset view calls
fix - 3242a61bae variable counter visiting some expressions twice

compiler-cli

Commit Description
fix - 473dd3e1cb attach source spans to object literal keys in TCB
fix - a904d9f77b support nested component declaration
fix - 2ea6dfc6c9 update diagnostic to flag no-op arrow functions in listeners

core

Commit Description
feat - 8d5210c9fe add ChangeDetectionStrategy.Eager alias for Default
feat - 92d2498910 add host node to DeferBlockData (#66546)
feat - ea2016a6dc add support for nested animations
feat - 81cabc1477 add support for TypeScript 6
feat - 1ba9b7ac50 resource composition via snapshots
feat - d9923b72a2 support arrow functions in expressions
fix - a7e8abbb7e correctly handle SkipSelf when resolving from embedded view injector
fix - 0806ee3826 prevent animated element duplication with dynamic components in zoneless mode
fix - ed78fa05c7 Remove note to skip arrow functions in best practices

forms

Commit Description
feat - f56bb07d83 add field param to submit action and onInvalid
feat - ba009b6031 add form directive
feat - 22afbb2f36 add parsing support to native inputs (#66917)

... (truncated)

Changelog

Sourced from @​angular/common's changelog.

21.2.0 (2026-02-25)

common

Commit Type Description
18003a33bb feat add an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46c feat Add Location strategies to manage trailing slash on write
51cc914807 feat support height in ImageLoaderConfig and built-in loaders

compiler

Commit Type Description
72534e2a34 feat Add support for the instanceof binary operator
95b3f37d4a feat Exhaustive checks for switch blocks
04ba09a8d9 feat support AstVisitor.visitEmptyExpr()
ce80136e7b fix optimize away unnecessary restore/reset view calls
3242a61bae fix variable counter visiting some expressions twice

compiler-cli

Commit Type Description
473dd3e1cb fix attach source spans to object literal keys in TCB
a904d9f77b fix support nested component declaration
2ea6dfc6c9 fix update diagnostic to flag no-op arrow functions in listeners

core

Commit Type Description
8d5210c9fe feat add ChangeDetectionStrategy.Eager alias for Default
92d2498910 feat add host node to DeferBlockData (#66546)
ea2016a6dc feat add support for nested animations
81cabc1477 feat add support for TypeScript 6
1ba9b7ac50 feat resource composition via snapshots
d9923b72a2 feat support arrow functions in expressions
a7e8abbb7e fix correctly handle SkipSelf when resolving from embedded view injector
0806ee3826 fix prevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7 fix Remove note to skip arrow functions in best practices

forms

Commit Type Description
f56bb07d83 feat add field param to submit action and onInvalid
ba009b6031 feat add form directive
22afbb2f36 feat add parsing support to native inputs (#66917)
95c386469c feat Add passing focus options to form field
95ecce8334 feat allow setting submit options at form-level
ebae211add feat introduce parse errors in signal forms
3937afc316 feat introduce SignalFormControl for Reactive Forms compatibility
30f0914754 feat support binding null to number input (#66917)
dd208ca259 feat update submit function to accept options object
27397b3f4f fix clear parse errors when model updates (#66917)
63d8005703 fix preserve custom-control focus context in signal forms
631f60d1f9 fix preserve parse errors when parse returns value
adfb83146b fix simplify design of parse errors
fb05fc86d0 fix sort error summary by DOM order

... (truncated)

Commits
  • 70e4c7f refactor(common): log a warning when a KeyValuePipe receives a signal
  • 2eeeabb fix(common): fix LCP image detection with duplicate URLs
  • 3c4deaa refactor(common): log a warning when a JsonPipe receives a signal
  • a8aab64 refactor(core): remove outdated TODO comments referencing TypeScript 2.1
  • ddfc833 refactor(common): improve image directive typings
  • 18003a3 feat(common): add an 'outlet' injector option for ngTemplateOutlet
  • 0c6eb60 test(http): remove zone-based testing utilities
  • 51cc914 feat(common): support height in ImageLoaderConfig and built-in loaders
  • c6d7500 test(common): remove zone-based testing utilities
  • cb1163e fix(http): correctly parse ArrayBuffer and Blob in transfer cache
  • Additional commits viewable in compare view

Updates @angular/compiler from 21.1.5 to 21.2.0

Release notes

Sourced from @​angular/compiler's releases.

VSCode Extension: 21.2.0

  • fix(vscode-extension): Highlight function calls with optional chaining (4f8d3995f0)
  • feat(language-service): add linked editing ranges for HTML tag synchronization (8c21866f49)
  • fix(vscode-extension): support highlighting for class bindings with brackets (01ed57f297)
  • feat(language-service): add JSON schema for angularCompilerOptions (496967e7b1)
  • fix(language-service): Detect local project version on creation (8a7cbd4668)
  • feat(language-server): Support client-side file watching via onDidChangeWatchedFiles (6fb39d9b62)
  • feat(language-server): Add completions and hover info for inline styles (ebc90c26f5)
  • feat(language-server): Add quick info for inline styles (573aadef7e)
  • feat(language-server): Add folding range support for inline styles (26fd0839c3)

21.2.0

common

Commit Description
feat - 18003a33bb add an 'outlet' injector option for ngTemplateOutlet
feat - 8bbe6dc46c Add Location strategies to manage trailing slash on write
feat - 51cc914807 support height in ImageLoaderConfig and built-in loaders

compiler

Commit Description
feat - 72534e2a34 Add support for the instanceof binary operator
feat - 95b3f37d4a Exhaustive checks for switch blocks
feat - 04ba09a8d9 support AstVisitor.visitEmptyExpr()
fix - ce80136e7b optimize away unnecessary restore/reset view calls
fix - 3242a61bae variable counter visiting some expressions twice

compiler-cli

Commit Description
fix - 473dd3e1cb attach source spans to object literal keys in TCB
fix - a904d9f77b support nested component declaration
fix - 2ea6dfc6c9 update diagnostic to flag no-op arrow functions in listeners

core

Commit Description
feat - 8d5210c9fe add ChangeDetectionStrategy.Eager alias for Default
feat - 92d2498910 add host node to DeferBlockData (#66546)
feat - ea2016a6dc add support for nested animations
feat - 81cabc1477 add support for TypeScript 6
feat - 1ba9b7ac50 resource composition via snapshots
feat - d9923b72a2 support arrow functions in expressions
fix - a7e8abbb7e correctly handle SkipSelf when resolving from embedded view injector
fix - 0806ee3826 prevent animated element duplication with dynamic components in zoneless mode
fix - ed78fa05c7 Remove note to skip arrow functions in best practices

forms

Commit Description
feat - f56bb07d83 add field param to submit action and onInvalid
feat - ba009b6031 add form directive
feat - 22afbb2f36 add parsing support to native inputs (#66917)

... (truncated)

Changelog

Sourced from @​angular/compiler's changelog.

21.2.0 (2026-02-25)

common

Commit Type Description
18003a33bb feat add an 'outlet' injector option for ngTemplateOutlet
8bbe6dc46c feat Add Location strategies to manage trailing slash on write
51cc914807 feat support height in ImageLoaderConfig and built-in loaders

compiler

Commit Type Description
72534e2a34 feat Add support for the instanceof binary operator
95b3f37d4a feat Exhaustive checks for switch blocks
04ba09a8d9 feat support AstVisitor.visitEmptyExpr()
ce80136e7b fix optimize away unnecessary restore/reset view calls
3242a61bae fix variable counter visiting some expressions twice

compiler-cli

Commit Type Description
473dd3e1cb fix attach source spans to object literal keys in TCB
a904d9f77b fix support nested component declaration
2ea6dfc6c9 fix update diagnostic to flag no-op arrow functions in listeners

core

Commit Type Description
8d5210c9fe feat add ChangeDetectionStrategy.Eager alias for Default
92d2498910 feat add host node to DeferBlockData (#66546)
ea2016a6dc feat add support for nested animations
81cabc1477 feat add support for TypeScript 6
1ba9b7ac50 feat resource composition via snapshots
d9923b72a2 feat support arrow functions in expressions
a7e8abbb7e fix correctly handle SkipSelf when resolving from embedded view injector
0806ee3826 fix prevent animated element duplication with dynamic components in zoneless mode
ed78fa05c7 fix Remove note to skip arrow functions in best practices

forms

Commit Type Description
f56bb07d83 feat add field param to submit action and onInvalid
ba009b6031 feat add form directive
22afbb2f36 feat add parsing support to native inputs (#66917)
95c386469c feat Add passing focus options to form field
95ecce8334 feat allow setting submit options at form-level
ebae211add feat introduce parse errors in signal forms
3937afc316 feat introduce SignalFormControl for Reactive Forms compatibility
30f0914754 feat support binding null to number input (#66917)
dd208ca259 feat update submit function to accept options object
27397b3f4f fix clear parse errors when model updates (#66917)
63d8005703 fix preserve custom-control focus context in signal forms
631f60d1f9 fix preserv...

Description has been truncated

Bumps the angular group with 11 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `21.1.5` | `21.2.0` | | [@angular/cdk](https://github.com/angular/components) | `21.1.5` | `21.2.0` | | [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `21.1.5` | `21.2.0` | | [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `21.1.5` | `21.2.0` | | [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `21.1.5` | `21.2.0` | | [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `21.1.5` | `21.2.0` | | [@angular/material](https://github.com/angular/components) | `21.1.5` | `21.2.0` | | [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `21.1.5` | `21.2.0` | | [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `21.1.5` | `21.2.0` | | [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `21.1.5` | `21.2.0` | | [@angular/ssr](https://github.com/angular/angular-cli) | `21.1.4` | `21.2.0` | Updates `@angular/animations` from 21.1.5 to 21.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/animations</code>'s releases</a>.</em></p> <blockquote> <h2>VSCode Extension: 21.2.0</h2> <ul> <li>fix(vscode-extension): Highlight function calls with optional chaining (<a href="https://github.com/angular/angular/commit/4f8d3995f082929d1ef4163dcb4373d3ef7a67cf">4f8d3995f0</a>)</li> <li>feat(language-service): add linked editing ranges for HTML tag synchronization (<a href="https://github.com/angular/angular/commit/8c21866f49ff74344551395ae0a5df1841d54c0d">8c21866f49</a>)</li> <li>fix(vscode-extension): support highlighting for class bindings with brackets (<a href="https://github.com/angular/angular/commit/01ed57f297d6713724dfaedc9520f80471f37c10">01ed57f297</a>)</li> <li>feat(language-service): add JSON schema for angularCompilerOptions (<a href="https://github.com/angular/angular/commit/496967e7b13dfe1ebdde69724cd62880914beb60">496967e7b1</a>)</li> <li>fix(language-service): Detect local project version on creation (<a href="https://github.com/angular/angular/commit/8a7cbd46685874f4500c52629d09c5f7fd309080">8a7cbd4668</a>)</li> <li>feat(language-server): Support client-side file watching via <code>onDidChangeWatchedFiles</code> (<a href="https://github.com/angular/angular/commit/6fb39d9b62cbb634e95ec00fe5ef85d84da3bdbd">6fb39d9b62</a>)</li> <li>feat(language-server): Add completions and hover info for inline styles (<a href="https://github.com/angular/angular/commit/ebc90c26f5ff1ba1e0ca9b775a44e301ebfb9473">ebc90c26f5</a>)</li> <li>feat(language-server): Add quick info for inline styles (<a href="https://github.com/angular/angular/commit/573aadef7eb8b6b5e83b82a16f95d2a556f27c01">573aadef7e</a>)</li> <li>feat(language-server): Add folding range support for inline styles (<a href="https://github.com/angular/angular/commit/26fd0839c32d2ebeaa5e3ecc10ed70ab9ca17749">26fd0839c3</a>)</li> </ul> <h2>21.2.0</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb"><img src="https://img.shields.io/badge/18003a33bb-feat-blue" alt="feat - 18003a33bb" /></a></td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761"><img src="https://img.shields.io/badge/8bbe6dc46c-feat-blue" alt="feat - 8bbe6dc46c" /></a></td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5"><img src="https://img.shields.io/badge/51cc914807-feat-blue" alt="feat - 51cc914807" /></a></td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42"><img src="https://img.shields.io/badge/72534e2a34-feat-blue" alt="feat - 72534e2a34" /></a></td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b"><img src="https://img.shields.io/badge/95b3f37d4a-feat-blue" alt="feat - 95b3f37d4a" /></a></td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952"><img src="https://img.shields.io/badge/04ba09a8d9-feat-blue" alt="feat - 04ba09a8d9" /></a></td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855"><img src="https://img.shields.io/badge/ce80136e7b-fix-green" alt="fix - ce80136e7b" /></a></td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac"><img src="https://img.shields.io/badge/3242a61bae-fix-green" alt="fix - 3242a61bae" /></a></td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b"><img src="https://img.shields.io/badge/473dd3e1cb-fix-green" alt="fix - 473dd3e1cb" /></a></td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb"><img src="https://img.shields.io/badge/a904d9f77b-fix-green" alt="fix - a904d9f77b" /></a></td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04"><img src="https://img.shields.io/badge/2ea6dfc6c9-fix-green" alt="fix - 2ea6dfc6c9" /></a></td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1"><img src="https://img.shields.io/badge/8d5210c9fe-feat-blue" alt="feat - 8d5210c9fe" /></a></td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698"><img src="https://img.shields.io/badge/92d2498910-feat-blue" alt="feat - 92d2498910" /></a></td> <td>add host node to DeferBlockData (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a"><img src="https://img.shields.io/badge/ea2016a6dc-feat-blue" alt="feat - ea2016a6dc" /></a></td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c"><img src="https://img.shields.io/badge/81cabc1477-feat-blue" alt="feat - 81cabc1477" /></a></td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647"><img src="https://img.shields.io/badge/1ba9b7ac50-feat-blue" alt="feat - 1ba9b7ac50" /></a></td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18"><img src="https://img.shields.io/badge/d9923b72a2-feat-blue" alt="feat - d9923b72a2" /></a></td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5"><img src="https://img.shields.io/badge/a7e8abbb7e-fix-green" alt="fix - a7e8abbb7e" /></a></td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c"><img src="https://img.shields.io/badge/0806ee3826-fix-green" alt="fix - 0806ee3826" /></a></td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4"><img src="https://img.shields.io/badge/ed78fa05c7-fix-green" alt="fix - ed78fa05c7" /></a></td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97"><img src="https://img.shields.io/badge/f56bb07d83-feat-blue" alt="feat - f56bb07d83" /></a></td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150"><img src="https://img.shields.io/badge/ba009b6031-feat-blue" alt="feat - ba009b6031" /></a></td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985"><img src="https://img.shields.io/badge/22afbb2f36-feat-blue" alt="feat - 22afbb2f36" /></a></td> <td>add parsing support to native inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/animations/issues/66917">#66917</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/animations</code>'s changelog</a>.</em></p> <blockquote> <h1>21.2.0 (2026-02-25)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb">18003a33bb</a></td> <td>feat</td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761">8bbe6dc46c</a></td> <td>feat</td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5">51cc914807</a></td> <td>feat</td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42">72534e2a34</a></td> <td>feat</td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b">95b3f37d4a</a></td> <td>feat</td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952">04ba09a8d9</a></td> <td>feat</td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855">ce80136e7b</a></td> <td>fix</td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac">3242a61bae</a></td> <td>fix</td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b">473dd3e1cb</a></td> <td>fix</td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb">a904d9f77b</a></td> <td>fix</td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04">2ea6dfc6c9</a></td> <td>fix</td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1">8d5210c9fe</a></td> <td>feat</td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698">92d2498910</a></td> <td>feat</td> <td>add host node to DeferBlockData (<a href="https://redirect.github.com/angular/angular/pull/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a">ea2016a6dc</a></td> <td>feat</td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c">81cabc1477</a></td> <td>feat</td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647">1ba9b7ac50</a></td> <td>feat</td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18">d9923b72a2</a></td> <td>feat</td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5">a7e8abbb7e</a></td> <td>fix</td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c">0806ee3826</a></td> <td>fix</td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4">ed78fa05c7</a></td> <td>fix</td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97">f56bb07d83</a></td> <td>feat</td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150">ba009b6031</a></td> <td>feat</td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985">22afbb2f36</a></td> <td>feat</td> <td>add parsing support to native inputs (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95c386469c7a2f09dd731601c2061bdb10d25717">95c386469c</a></td> <td>feat</td> <td>Add passing focus options to form field</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95ecce8334299defe55fb2b74264e5258ffd137c">95ecce8334</a></td> <td>feat</td> <td>allow setting submit options at form-level</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ebae211add37700858adeb8fc5d87bf503a59721">ebae211add</a></td> <td>feat</td> <td>introduce parse errors in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3937afc3167ce409eebb06d91d5fb122eea4e33d">3937afc316</a></td> <td>feat</td> <td>introduce SignalFormControl for Reactive Forms compatibility</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/30f09147545b67185f93efb9796e37c1db76733a">30f0914754</a></td> <td>feat</td> <td>support binding null to number input (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dd208ca2595258fcd1e289374f812ce0b56c7011">dd208ca259</a></td> <td>feat</td> <td>update submit function to accept options object</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/27397b3f4f3182ce00d6e2f8690285c316e2a274">27397b3f4f</a></td> <td>fix</td> <td>clear parse errors when model updates (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/63d80057039928b3e878b59c1fe6b93ef1c6b701">63d8005703</a></td> <td>fix</td> <td>preserve custom-control focus context in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/631f60d1f9be72cb68330308a6ff18cc195babb8">631f60d1f9</a></td> <td>fix</td> <td>preserve parse errors when parse returns value</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/adfb83146b0c149734f43961563b389e00cc1d85">adfb83146b</a></td> <td>fix</td> <td>simplify design of parse errors</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/fb05fc86d0f12ffafd94c7c1420118d8a79f7e59">fb05fc86d0</a></td> <td>fix</td> <td>sort error summary by DOM order</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c"><code>81cabc1</code></a> feat(core): add support for TypeScript 6</li> <li>See full diff in <a href="https://github.com/angular/angular/commits/v21.2.0/packages/animations">compare view</a></li> </ul> </details> <br /> Updates `@angular/cdk` from 21.1.5 to 21.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/components/releases"><code>@​angular/cdk</code>'s releases</a>.</em></p> <blockquote> <h2>21.2.0</h2> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/8c4526935ef7e960ed4245a4621d41065ba34e3b"><img src="https://img.shields.io/badge/8c4526935e-fix-green" alt="fix - 8c4526935e" /></a></td> <td><strong>core:</strong> expose strong focus indicator structural styles (<a href="https://redirect.github.com/angular/components/issues/32808">#32808</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/7fe308114829c4ce454cc247e59e59387ee7fd17"><img src="https://img.shields.io/badge/7fe3081148-fix-green" alt="fix - 7fe3081148" /></a></td> <td><strong>datepicker:</strong> drop dependency on NgClass (<a href="https://redirect.github.com/angular/components/issues/32810">#32810</a>)</td> </tr> </tbody> </table> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cd5209e9f59c8bd31de29d03fd743452d8ae3d03"><img src="https://img.shields.io/badge/cd5209e9f5-fix-green" alt="fix - cd5209e9f5" /></a></td> <td><strong>portal:</strong> allow bindings to be passed to component portal (<a href="https://redirect.github.com/angular/components/issues/32814">#32814</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/e397ecbcfad4e85fde8d116faf5caa80dcddca45"><img src="https://img.shields.io/badge/e397ecbcfa-fix-green" alt="fix - e397ecbcfa" /></a></td> <td><strong>table:</strong> remove string-based DI tokens (<a href="https://redirect.github.com/angular/components/issues/32677">#32677</a>)</td> </tr> </tbody> </table> <h3>aria</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/31ff7f26b5dd08c1d48dc5ebb8f1a9ba57a2dc9c"><img src="https://img.shields.io/badge/31ff7f26b5-fix-green" alt="fix - 31ff7f26b5" /></a></td> <td><strong>grid:</strong> align output naming with styleguide</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/d030725f462d93bbca9918f153a48b5631ef0476"><img src="https://img.shields.io/badge/d030725f46-fix-green" alt="fix - d030725f46" /></a></td> <td><strong>menu:</strong> align output naming with styleguide</td> </tr> </tbody> </table> <h2>21.2.0-rc.0</h2> <p>No release notes provided.</p> <h2>21.2.0-next.5</h2> <h3>google-maps</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/0870786036286c3b0d3485cb31098afdf22c0350"><img src="https://img.shields.io/badge/0870786036-fix-green" alt="fix - 0870786036" /></a></td> <td>fix mismatch in clusterer types (<a href="https://redirect.github.com/angular/components/issues/32778">#32778</a>)</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/f5c586925eb9a1cc00a9b2e22860be1f69ef9184"><img src="https://img.shields.io/badge/f5c586925e-fix-green" alt="fix - f5c586925e" /></a></td> <td><strong>select:</strong> disable position locking (<a href="https://redirect.github.com/angular/components/issues/32772">#32772</a>)</td> </tr> </tbody> </table> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/b15b48df980b1f86885d4d25fdc8ba58b2bac62b"><img src="https://img.shields.io/badge/b15b48df98-fix-green" alt="fix - b15b48df98" /></a></td> <td><strong>tree:</strong> no nodes focusable if data is replaced (<a href="https://redirect.github.com/angular/components/issues/32781">#32781</a>)</td> </tr> </tbody> </table> <h3>aria</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/c57e6a1545d79d6ad515082fc89f0dfb5cb1ab8f"><img src="https://img.shields.io/badge/c57e6a1545-fix-green" alt="fix - c57e6a1545" /></a></td> <td><strong>combobox:</strong> fix autocomplete examples and add comments explaining combobox selection behavior (<a href="https://redirect.github.com/angular/components/issues/32714">#32714</a>)</td> </tr> </tbody> </table> <h2>21.2.0-next.4</h2> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/4ff346bbb56bb8f6b117c9d03b6f80eac32bc2f8"><img src="https://img.shields.io/badge/4ff346bbb-fix-green" alt="fix - 4ff346bbb" /></a></td> <td><strong>radio:</strong> hide empty labels (<a href="https://redirect.github.com/angular/components/issues/32754">#32754</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/bee55117c674ac1ab3ec44acc624e92d1f960e14"><img src="https://img.shields.io/badge/bee55117c-fix-green" alt="fix - bee55117c" /></a></td> <td><strong>slide-toggle:</strong> overly broad selector (<a href="https://redirect.github.com/angular/components/issues/32740">#32740</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/06750e02e42283f7cdf84772da76ef3d9426b5ab"><img src="https://img.shields.io/badge/06750e02e-fix-green" alt="fix - 06750e02e" /></a></td> <td><strong>tooltip:</strong> do not block events to other overlays</td> </tr> </tbody> </table> <h3>aria</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/70f8b6aac471a20dcc8f51da7aefdc930469b185"><img src="https://img.shields.io/badge/70f8b6aac-perf-orange" alt="perf - 70f8b6aac" /></a></td> <td><strong>grid:</strong> performance when selecting in a large grid (<a href="https://redirect.github.com/angular/components/issues/32766">#32766</a>)</td> </tr> </tbody> </table> <h3>multiple</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/components/blob/main/CHANGELOG.md"><code>@​angular/cdk</code>'s changelog</a>.</em></p> <blockquote> <h1>21.2.0 &quot;plastic-lion&quot; (2026-02-25)</h1> <h3>aria</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/31ff7f26b5dd08c1d48dc5ebb8f1a9ba57a2dc9c">31ff7f26b5</a></td> <td>fix</td> <td><strong>grid:</strong> align output naming with styleguide</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/d030725f462d93bbca9918f153a48b5631ef0476">d030725f46</a></td> <td>fix</td> <td><strong>menu:</strong> align output naming with styleguide</td> </tr> </tbody> </table> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cd5209e9f59c8bd31de29d03fd743452d8ae3d03">cd5209e9f5</a></td> <td>fix</td> <td><strong>portal:</strong> allow bindings to be passed to component portal (<a href="https://redirect.github.com/angular/components/pull/32814">#32814</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/e397ecbcfad4e85fde8d116faf5caa80dcddca45">e397ecbcfa</a></td> <td>fix</td> <td><strong>table:</strong> remove string-based DI tokens (<a href="https://redirect.github.com/angular/components/pull/32677">#32677</a>)</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/8c4526935ef7e960ed4245a4621d41065ba34e3b">8c4526935e</a></td> <td>fix</td> <td><strong>core:</strong> expose strong focus indicator structural styles (<a href="https://redirect.github.com/angular/components/pull/32808">#32808</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/7fe308114829c4ce454cc247e59e59387ee7fd17">7fe3081148</a></td> <td>fix</td> <td><strong>datepicker:</strong> drop dependency on NgClass (<a href="https://redirect.github.com/angular/components/pull/32810">#32810</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>21.1.6 &quot;plastic-monkey&quot; (2026-02-25)</h1> <h3>aria</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/50c34e6ef314177cdd725a5b0c3177b65cc2809a">50c34e6ef3</a></td> <td>fix</td> <td><strong>combobox:</strong> Adjust AutoComplete examples to properly announce no results text (<a href="https://redirect.github.com/angular/components/pull/32786">#32786</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/components/commit/37cffba9ef92e9aade70984abe037fee58666e0a"><code>37cffba</code></a> release: cut the v21.2.0 release</li> <li><a href="https://github.com/angular/components/commit/eeacb0ecacf7632560486f67ebd1e70aef4ec17a"><code>eeacb0e</code></a> ci: remove mmalerba from code reviewers (<a href="https://redirect.github.com/angular/components/issues/32824">#32824</a>)</li> <li><a href="https://github.com/angular/components/commit/cd5209e9f59c8bd31de29d03fd743452d8ae3d03"><code>cd5209e</code></a> fix(cdk/portal): allow bindings to be passed to component portal (<a href="https://redirect.github.com/angular/components/issues/32814">#32814</a>)</li> <li><a href="https://github.com/angular/components/commit/7fe308114829c4ce454cc247e59e59387ee7fd17"><code>7fe3081</code></a> fix(material/datepicker): drop dependency on NgClass (<a href="https://redirect.github.com/angular/components/issues/32810">#32810</a>)</li> <li><a href="https://github.com/angular/components/commit/ef2f1cb303a04e1d127fbc15819fff843ccd4749"><code>ef2f1cb</code></a> build: set up schematics for v22 (<a href="https://redirect.github.com/angular/components/issues/32806">#32806</a>)</li> <li><a href="https://github.com/angular/components/commit/8c4526935ef7e960ed4245a4621d41065ba34e3b"><code>8c45269</code></a> fix(material/core): expose strong focus indicator structural styles (<a href="https://redirect.github.com/angular/components/issues/32808">#32808</a>)</li> <li><a href="https://github.com/angular/components/commit/ddd5114e779bb6686f0450caf350218ab3fb1543"><code>ddd5114</code></a> build: update dependencies and resolve breaking change (<a href="https://redirect.github.com/angular/components/issues/32799">#32799</a>)</li> <li><a href="https://github.com/angular/components/commit/f9e7149dbc42f2dc23f99bed11722645807dfe70"><code>f9e7149</code></a> build: update cross-repo angular dependencies (<a href="https://redirect.github.com/angular/components/issues/32802">#32802</a>)</li> <li><a href="https://github.com/angular/components/commit/e94e19c79533768463da3b3fa6925c8c0763813c"><code>e94e19c</code></a> build: update pnpm to v10.30.0 (<a href="https://redirect.github.com/angular/components/issues/32804">#32804</a>)</li> <li><a href="https://github.com/angular/components/commit/1c14bfbc30383293ca0735245c8b7d628678f69f"><code>1c14bfb</code></a> fix(aria/combobox): Adjust AutoComplete examples to properly announce no resu...</li> <li>Additional commits viewable in <a href="https://github.com/angular/components/compare/v21.1.5...v21.2.0">compare view</a></li> </ul> </details> <br /> Updates `@angular/common` from 21.1.5 to 21.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/common</code>'s releases</a>.</em></p> <blockquote> <h2>VSCode Extension: 21.2.0</h2> <ul> <li>fix(vscode-extension): Highlight function calls with optional chaining (<a href="https://github.com/angular/angular/commit/4f8d3995f082929d1ef4163dcb4373d3ef7a67cf">4f8d3995f0</a>)</li> <li>feat(language-service): add linked editing ranges for HTML tag synchronization (<a href="https://github.com/angular/angular/commit/8c21866f49ff74344551395ae0a5df1841d54c0d">8c21866f49</a>)</li> <li>fix(vscode-extension): support highlighting for class bindings with brackets (<a href="https://github.com/angular/angular/commit/01ed57f297d6713724dfaedc9520f80471f37c10">01ed57f297</a>)</li> <li>feat(language-service): add JSON schema for angularCompilerOptions (<a href="https://github.com/angular/angular/commit/496967e7b13dfe1ebdde69724cd62880914beb60">496967e7b1</a>)</li> <li>fix(language-service): Detect local project version on creation (<a href="https://github.com/angular/angular/commit/8a7cbd46685874f4500c52629d09c5f7fd309080">8a7cbd4668</a>)</li> <li>feat(language-server): Support client-side file watching via <code>onDidChangeWatchedFiles</code> (<a href="https://github.com/angular/angular/commit/6fb39d9b62cbb634e95ec00fe5ef85d84da3bdbd">6fb39d9b62</a>)</li> <li>feat(language-server): Add completions and hover info for inline styles (<a href="https://github.com/angular/angular/commit/ebc90c26f5ff1ba1e0ca9b775a44e301ebfb9473">ebc90c26f5</a>)</li> <li>feat(language-server): Add quick info for inline styles (<a href="https://github.com/angular/angular/commit/573aadef7eb8b6b5e83b82a16f95d2a556f27c01">573aadef7e</a>)</li> <li>feat(language-server): Add folding range support for inline styles (<a href="https://github.com/angular/angular/commit/26fd0839c32d2ebeaa5e3ecc10ed70ab9ca17749">26fd0839c3</a>)</li> </ul> <h2>21.2.0</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb"><img src="https://img.shields.io/badge/18003a33bb-feat-blue" alt="feat - 18003a33bb" /></a></td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761"><img src="https://img.shields.io/badge/8bbe6dc46c-feat-blue" alt="feat - 8bbe6dc46c" /></a></td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5"><img src="https://img.shields.io/badge/51cc914807-feat-blue" alt="feat - 51cc914807" /></a></td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42"><img src="https://img.shields.io/badge/72534e2a34-feat-blue" alt="feat - 72534e2a34" /></a></td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b"><img src="https://img.shields.io/badge/95b3f37d4a-feat-blue" alt="feat - 95b3f37d4a" /></a></td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952"><img src="https://img.shields.io/badge/04ba09a8d9-feat-blue" alt="feat - 04ba09a8d9" /></a></td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855"><img src="https://img.shields.io/badge/ce80136e7b-fix-green" alt="fix - ce80136e7b" /></a></td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac"><img src="https://img.shields.io/badge/3242a61bae-fix-green" alt="fix - 3242a61bae" /></a></td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b"><img src="https://img.shields.io/badge/473dd3e1cb-fix-green" alt="fix - 473dd3e1cb" /></a></td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb"><img src="https://img.shields.io/badge/a904d9f77b-fix-green" alt="fix - a904d9f77b" /></a></td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04"><img src="https://img.shields.io/badge/2ea6dfc6c9-fix-green" alt="fix - 2ea6dfc6c9" /></a></td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1"><img src="https://img.shields.io/badge/8d5210c9fe-feat-blue" alt="feat - 8d5210c9fe" /></a></td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698"><img src="https://img.shields.io/badge/92d2498910-feat-blue" alt="feat - 92d2498910" /></a></td> <td>add host node to DeferBlockData (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a"><img src="https://img.shields.io/badge/ea2016a6dc-feat-blue" alt="feat - ea2016a6dc" /></a></td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c"><img src="https://img.shields.io/badge/81cabc1477-feat-blue" alt="feat - 81cabc1477" /></a></td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647"><img src="https://img.shields.io/badge/1ba9b7ac50-feat-blue" alt="feat - 1ba9b7ac50" /></a></td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18"><img src="https://img.shields.io/badge/d9923b72a2-feat-blue" alt="feat - d9923b72a2" /></a></td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5"><img src="https://img.shields.io/badge/a7e8abbb7e-fix-green" alt="fix - a7e8abbb7e" /></a></td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c"><img src="https://img.shields.io/badge/0806ee3826-fix-green" alt="fix - 0806ee3826" /></a></td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4"><img src="https://img.shields.io/badge/ed78fa05c7-fix-green" alt="fix - ed78fa05c7" /></a></td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97"><img src="https://img.shields.io/badge/f56bb07d83-feat-blue" alt="feat - f56bb07d83" /></a></td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150"><img src="https://img.shields.io/badge/ba009b6031-feat-blue" alt="feat - ba009b6031" /></a></td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985"><img src="https://img.shields.io/badge/22afbb2f36-feat-blue" alt="feat - 22afbb2f36" /></a></td> <td>add parsing support to native inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/common/issues/66917">#66917</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/common</code>'s changelog</a>.</em></p> <blockquote> <h1>21.2.0 (2026-02-25)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb">18003a33bb</a></td> <td>feat</td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761">8bbe6dc46c</a></td> <td>feat</td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5">51cc914807</a></td> <td>feat</td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42">72534e2a34</a></td> <td>feat</td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b">95b3f37d4a</a></td> <td>feat</td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952">04ba09a8d9</a></td> <td>feat</td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855">ce80136e7b</a></td> <td>fix</td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac">3242a61bae</a></td> <td>fix</td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b">473dd3e1cb</a></td> <td>fix</td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb">a904d9f77b</a></td> <td>fix</td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04">2ea6dfc6c9</a></td> <td>fix</td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1">8d5210c9fe</a></td> <td>feat</td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698">92d2498910</a></td> <td>feat</td> <td>add host node to DeferBlockData (<a href="https://redirect.github.com/angular/angular/pull/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a">ea2016a6dc</a></td> <td>feat</td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c">81cabc1477</a></td> <td>feat</td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647">1ba9b7ac50</a></td> <td>feat</td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18">d9923b72a2</a></td> <td>feat</td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5">a7e8abbb7e</a></td> <td>fix</td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c">0806ee3826</a></td> <td>fix</td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4">ed78fa05c7</a></td> <td>fix</td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97">f56bb07d83</a></td> <td>feat</td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150">ba009b6031</a></td> <td>feat</td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985">22afbb2f36</a></td> <td>feat</td> <td>add parsing support to native inputs (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95c386469c7a2f09dd731601c2061bdb10d25717">95c386469c</a></td> <td>feat</td> <td>Add passing focus options to form field</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95ecce8334299defe55fb2b74264e5258ffd137c">95ecce8334</a></td> <td>feat</td> <td>allow setting submit options at form-level</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ebae211add37700858adeb8fc5d87bf503a59721">ebae211add</a></td> <td>feat</td> <td>introduce parse errors in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3937afc3167ce409eebb06d91d5fb122eea4e33d">3937afc316</a></td> <td>feat</td> <td>introduce SignalFormControl for Reactive Forms compatibility</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/30f09147545b67185f93efb9796e37c1db76733a">30f0914754</a></td> <td>feat</td> <td>support binding null to number input (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dd208ca2595258fcd1e289374f812ce0b56c7011">dd208ca259</a></td> <td>feat</td> <td>update submit function to accept options object</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/27397b3f4f3182ce00d6e2f8690285c316e2a274">27397b3f4f</a></td> <td>fix</td> <td>clear parse errors when model updates (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/63d80057039928b3e878b59c1fe6b93ef1c6b701">63d8005703</a></td> <td>fix</td> <td>preserve custom-control focus context in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/631f60d1f9be72cb68330308a6ff18cc195babb8">631f60d1f9</a></td> <td>fix</td> <td>preserve parse errors when parse returns value</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/adfb83146b0c149734f43961563b389e00cc1d85">adfb83146b</a></td> <td>fix</td> <td>simplify design of parse errors</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/fb05fc86d0f12ffafd94c7c1420118d8a79f7e59">fb05fc86d0</a></td> <td>fix</td> <td>sort error summary by DOM order</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/70e4c7fbabb45277cf76ee138c0be275beec7919"><code>70e4c7f</code></a> refactor(common): log a warning when a KeyValuePipe receives a signal</li> <li><a href="https://github.com/angular/angular/commit/2eeeabb7606900ad4fe8e3370d73f6add985f35d"><code>2eeeabb</code></a> fix(common): fix LCP image detection with duplicate URLs</li> <li><a href="https://github.com/angular/angular/commit/3c4deaa52bb42130f90126f55786331aa8b4f7dc"><code>3c4deaa</code></a> refactor(common): log a warning when a JsonPipe receives a signal</li> <li><a href="https://github.com/angular/angular/commit/a8aab6480962f18ff0b28b5e46358ff8d43745c9"><code>a8aab64</code></a> refactor(core): remove outdated TODO comments referencing TypeScript 2.1</li> <li><a href="https://github.com/angular/angular/commit/ddfc833df9e40d9c427c0300a41e195e5e398767"><code>ddfc833</code></a> refactor(common): improve image directive typings</li> <li><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb"><code>18003a3</code></a> feat(common): add an 'outlet' injector option for ngTemplateOutlet</li> <li><a href="https://github.com/angular/angular/commit/0c6eb60c8629c02fc342f849f4bb09567cd3f7dd"><code>0c6eb60</code></a> test(http): remove zone-based testing utilities</li> <li><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5"><code>51cc914</code></a> feat(common): support height in ImageLoaderConfig and built-in loaders</li> <li><a href="https://github.com/angular/angular/commit/c6d75002030875a3e6b9460e7317ca3a9ae68179"><code>c6d7500</code></a> test(common): remove zone-based testing utilities</li> <li><a href="https://github.com/angular/angular/commit/cb1163e5e5434d5d96897180f6f0eb86d3992964"><code>cb1163e</code></a> fix(http): correctly parse ArrayBuffer and Blob in transfer cache</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v21.2.0/packages/common">compare view</a></li> </ul> </details> <br /> Updates `@angular/compiler` from 21.1.5 to 21.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases"><code>@​angular/compiler</code>'s releases</a>.</em></p> <blockquote> <h2>VSCode Extension: 21.2.0</h2> <ul> <li>fix(vscode-extension): Highlight function calls with optional chaining (<a href="https://github.com/angular/angular/commit/4f8d3995f082929d1ef4163dcb4373d3ef7a67cf">4f8d3995f0</a>)</li> <li>feat(language-service): add linked editing ranges for HTML tag synchronization (<a href="https://github.com/angular/angular/commit/8c21866f49ff74344551395ae0a5df1841d54c0d">8c21866f49</a>)</li> <li>fix(vscode-extension): support highlighting for class bindings with brackets (<a href="https://github.com/angular/angular/commit/01ed57f297d6713724dfaedc9520f80471f37c10">01ed57f297</a>)</li> <li>feat(language-service): add JSON schema for angularCompilerOptions (<a href="https://github.com/angular/angular/commit/496967e7b13dfe1ebdde69724cd62880914beb60">496967e7b1</a>)</li> <li>fix(language-service): Detect local project version on creation (<a href="https://github.com/angular/angular/commit/8a7cbd46685874f4500c52629d09c5f7fd309080">8a7cbd4668</a>)</li> <li>feat(language-server): Support client-side file watching via <code>onDidChangeWatchedFiles</code> (<a href="https://github.com/angular/angular/commit/6fb39d9b62cbb634e95ec00fe5ef85d84da3bdbd">6fb39d9b62</a>)</li> <li>feat(language-server): Add completions and hover info for inline styles (<a href="https://github.com/angular/angular/commit/ebc90c26f5ff1ba1e0ca9b775a44e301ebfb9473">ebc90c26f5</a>)</li> <li>feat(language-server): Add quick info for inline styles (<a href="https://github.com/angular/angular/commit/573aadef7eb8b6b5e83b82a16f95d2a556f27c01">573aadef7e</a>)</li> <li>feat(language-server): Add folding range support for inline styles (<a href="https://github.com/angular/angular/commit/26fd0839c32d2ebeaa5e3ecc10ed70ab9ca17749">26fd0839c3</a>)</li> </ul> <h2>21.2.0</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb"><img src="https://img.shields.io/badge/18003a33bb-feat-blue" alt="feat - 18003a33bb" /></a></td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761"><img src="https://img.shields.io/badge/8bbe6dc46c-feat-blue" alt="feat - 8bbe6dc46c" /></a></td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5"><img src="https://img.shields.io/badge/51cc914807-feat-blue" alt="feat - 51cc914807" /></a></td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42"><img src="https://img.shields.io/badge/72534e2a34-feat-blue" alt="feat - 72534e2a34" /></a></td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b"><img src="https://img.shields.io/badge/95b3f37d4a-feat-blue" alt="feat - 95b3f37d4a" /></a></td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952"><img src="https://img.shields.io/badge/04ba09a8d9-feat-blue" alt="feat - 04ba09a8d9" /></a></td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855"><img src="https://img.shields.io/badge/ce80136e7b-fix-green" alt="fix - ce80136e7b" /></a></td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac"><img src="https://img.shields.io/badge/3242a61bae-fix-green" alt="fix - 3242a61bae" /></a></td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b"><img src="https://img.shields.io/badge/473dd3e1cb-fix-green" alt="fix - 473dd3e1cb" /></a></td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb"><img src="https://img.shields.io/badge/a904d9f77b-fix-green" alt="fix - a904d9f77b" /></a></td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04"><img src="https://img.shields.io/badge/2ea6dfc6c9-fix-green" alt="fix - 2ea6dfc6c9" /></a></td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1"><img src="https://img.shields.io/badge/8d5210c9fe-feat-blue" alt="feat - 8d5210c9fe" /></a></td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698"><img src="https://img.shields.io/badge/92d2498910-feat-blue" alt="feat - 92d2498910" /></a></td> <td>add host node to DeferBlockData (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a"><img src="https://img.shields.io/badge/ea2016a6dc-feat-blue" alt="feat - ea2016a6dc" /></a></td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c"><img src="https://img.shields.io/badge/81cabc1477-feat-blue" alt="feat - 81cabc1477" /></a></td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647"><img src="https://img.shields.io/badge/1ba9b7ac50-feat-blue" alt="feat - 1ba9b7ac50" /></a></td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18"><img src="https://img.shields.io/badge/d9923b72a2-feat-blue" alt="feat - d9923b72a2" /></a></td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5"><img src="https://img.shields.io/badge/a7e8abbb7e-fix-green" alt="fix - a7e8abbb7e" /></a></td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c"><img src="https://img.shields.io/badge/0806ee3826-fix-green" alt="fix - 0806ee3826" /></a></td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4"><img src="https://img.shields.io/badge/ed78fa05c7-fix-green" alt="fix - ed78fa05c7" /></a></td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97"><img src="https://img.shields.io/badge/f56bb07d83-feat-blue" alt="feat - f56bb07d83" /></a></td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150"><img src="https://img.shields.io/badge/ba009b6031-feat-blue" alt="feat - ba009b6031" /></a></td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985"><img src="https://img.shields.io/badge/22afbb2f36-feat-blue" alt="feat - 22afbb2f36" /></a></td> <td>add parsing support to native inputs (<a href="https://github.com/angular/angular/tree/HEAD/packages/compiler/issues/66917">#66917</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/blob/main/CHANGELOG.md"><code>@​angular/compiler</code>'s changelog</a>.</em></p> <blockquote> <h1>21.2.0 (2026-02-25)</h1> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb">18003a33bb</a></td> <td>feat</td> <td>add an 'outlet' injector option for ngTemplateOutlet</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761">8bbe6dc46c</a></td> <td>feat</td> <td>Add Location strategies to manage trailing slash on write</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5">51cc914807</a></td> <td>feat</td> <td>support height in ImageLoaderConfig and built-in loaders</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42">72534e2a34</a></td> <td>feat</td> <td>Add support for the <code>instanceof</code> binary operator</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b">95b3f37d4a</a></td> <td>feat</td> <td>Exhaustive checks for switch blocks</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952">04ba09a8d9</a></td> <td>feat</td> <td>support <code>AstVisitor.visitEmptyExpr()</code></td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855">ce80136e7b</a></td> <td>fix</td> <td>optimize away unnecessary restore/reset view calls</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac">3242a61bae</a></td> <td>fix</td> <td>variable counter visiting some expressions twice</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b">473dd3e1cb</a></td> <td>fix</td> <td>attach source spans to object literal keys in TCB</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb">a904d9f77b</a></td> <td>fix</td> <td>support nested component declaration</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04">2ea6dfc6c9</a></td> <td>fix</td> <td>update diagnostic to flag no-op arrow functions in listeners</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1">8d5210c9fe</a></td> <td>feat</td> <td>add ChangeDetectionStrategy.Eager alias for Default</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698">92d2498910</a></td> <td>feat</td> <td>add host node to DeferBlockData (<a href="https://redirect.github.com/angular/angular/pull/66546">#66546</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a">ea2016a6dc</a></td> <td>feat</td> <td>add support for nested animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c">81cabc1477</a></td> <td>feat</td> <td>add support for TypeScript 6</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647">1ba9b7ac50</a></td> <td>feat</td> <td>resource composition via snapshots</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18">d9923b72a2</a></td> <td>feat</td> <td>support arrow functions in expressions</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5">a7e8abbb7e</a></td> <td>fix</td> <td>correctly handle SkipSelf when resolving from embedded view injector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c">0806ee3826</a></td> <td>fix</td> <td>prevent animated element duplication with dynamic components in zoneless mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4">ed78fa05c7</a></td> <td>fix</td> <td>Remove note to skip arrow functions in best practices</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97">f56bb07d83</a></td> <td>feat</td> <td>add field param to submit action and onInvalid</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150">ba009b6031</a></td> <td>feat</td> <td>add form directive</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985">22afbb2f36</a></td> <td>feat</td> <td>add parsing support to native inputs (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95c386469c7a2f09dd731601c2061bdb10d25717">95c386469c</a></td> <td>feat</td> <td>Add passing focus options to form field</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/95ecce8334299defe55fb2b74264e5258ffd137c">95ecce8334</a></td> <td>feat</td> <td>allow setting submit options at form-level</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/ebae211add37700858adeb8fc5d87bf503a59721">ebae211add</a></td> <td>feat</td> <td>introduce parse errors in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/3937afc3167ce409eebb06d91d5fb122eea4e33d">3937afc316</a></td> <td>feat</td> <td>introduce SignalFormControl for Reactive Forms compatibility</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/30f09147545b67185f93efb9796e37c1db76733a">30f0914754</a></td> <td>feat</td> <td>support binding null to number input (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/dd208ca2595258fcd1e289374f812ce0b56c7011">dd208ca259</a></td> <td>feat</td> <td>update submit function to accept options object</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/27397b3f4f3182ce00d6e2f8690285c316e2a274">27397b3f4f</a></td> <td>fix</td> <td>clear parse errors when model updates (<a href="https://redirect.github.com/angular/angular/pull/66917">#66917</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/63d80057039928b3e878b59c1fe6b93ef1c6b701">63d8005703</a></td> <td>fix</td> <td>preserve custom-control focus context in signal forms</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/631f60d1f9be72cb68330308a6ff18cc195babb8">631f60d1f9</a></td> <td>fix</td> <td>preserv... _Description has been truncated_
admin-backup commented 2026-03-01 21:12:19 +01:00 (Migrated from 172.24.0.1:8928)

@dependabot recreate

`@dependabot` recreate
admin-backup commented 2026-03-01 21:15:12 +01:00 (Migrated from 172.24.0.1:8928)

Looks like these dependencies are updatable in another way, so this is no longer needed.

Looks like these dependencies are updatable in another way, so this is no longer needed.
admin-backup (Migrated from 172.24.0.1:8928) closed this pull request 2026-03-01 21:15:14 +01:00

Preserved GitLab !111 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 2.

gitlab-35-mergerequest-111.md (SHA-256 49c5fe49b46a2add55c7aecfb8400d5b826d681cfd54416de562d52c44a56730)

gitlab-35-mergerequest-111.json (SHA-256 5fb5f17d1e25a5cbe1a71161b8e2e25a2c2ec66cde21ae084b4fc298dca2dc5c)

Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.

<!-- gitlab-to-gitea-history:35:MergeRequest:111 --> Preserved GitLab !111 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 1; visible source notes: 2. [gitlab-35-mergerequest-111.md](https://gitea.nessar.fr/attachments/5b307742-5d45-4543-8b17-e714425ea6bf) (SHA-256 `49c5fe49b46a2add55c7aecfb8400d5b826d681cfd54416de562d52c44a56730`) [gitlab-35-mergerequest-111.json](https://gitea.nessar.fr/attachments/2da973f2-8051-432b-a529-2addac21966c) (SHA-256 `5fb5f17d1e25a5cbe1a71161b8e2e25a2c2ec66cde21ae084b4fc298dca2dc5c`) Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nessar/vac-optimizer#189