[angular/angular] Release v21.2.0 - 21.2.0
DRANK

### common | Commit | Description | | -- | -- | | [![feat - 18003a33bb](https://img.shields.io/badge/18003a33bb-feat-blue)](https://github.com/angular/angular/commit/18003a33bb0d6bb09def8a0e5939fa24069696eb) | add an 'outlet' injector option for ngTemplateOutlet | | [![feat - 8bbe6dc46c](https://img.shields.io/badge/8bbe6dc46c-feat-blue)](https://github.com/angular/angular/commit/8bbe6dc46c9dc13bafa81a60c7613b84b5ca3761) | Add Location strategies to manage trailing slash on write | | [![feat - 51cc914807](https://img.shields.io/badge/51cc914807-feat-blue)](https://github.com/angular/angular/commit/51cc91480761b7275c15b5600381207f8ca00ee5) | support height in ImageLoaderConfig and built-in loaders | ### compiler | Commit | Description | | -- | -- | | [![feat - 72534e2a34](https://img.shields.io/badge/72534e2a34-feat-blue)](https://github.com/angular/angular/commit/72534e2a3458df4e1bb097973872f00bbb92be42) | Add support for the `instanceof` binary operator | | [![feat - 95b3f37d4a](https://img.shields.io/badge/95b3f37d4a-feat-blue)](https://github.com/angular/angular/commit/95b3f37d4a7d9a38f616d56df746dfcda3c2139b) | Exhaustive checks for switch blocks | | [![feat - 04ba09a8d9](https://img.shields.io/badge/04ba09a8d9-feat-blue)](https://github.com/angular/angular/commit/04ba09a8d9454013bebdd643eacb737642161952) | support `AstVisitor.visitEmptyExpr()` | | [![fix - ce80136e7b](https://img.shields.io/badge/ce80136e7b-fix-green)](https://github.com/angular/angular/commit/ce80136e7b9f0024d49fce835cffa024c4505855) | optimize away unnecessary restore/reset view calls | | [![fix - 3242a61bae](https://img.shields.io/badge/3242a61bae-fix-green)](https://github.com/angular/angular/commit/3242a61bae02253d13abb510b666376c665e61ac) | variable counter visiting some expressions twice | ### compiler-cli | Commit | Description | | -- | -- | | [![fix - 473dd3e1cb](https://img.shields.io/badge/473dd3e1cb-fix-green)](https://github.com/angular/angular/commit/473dd3e1cbd4fe3fa88ae4d5358eee35c11acb1b) | attach source spans to object literal keys in TCB | | [![fix - a904d9f77b](https://img.shields.io/badge/a904d9f77b-fix-green)](https://github.com/angular/angular/commit/a904d9f77b56feab407f75f8d0527fa512d5dafb) | support nested component declaration | | [![fix - 2ea6dfc6c9](https://img.shields.io/badge/2ea6dfc6c9-fix-green)](https://github.com/angular/angular/commit/2ea6dfc6c9ca11e96a2654510c980419899f8d04) | update diagnostic to flag no-op arrow functions in listeners | ### core | Commit | Description | | -- | -- | | [![feat - 8d5210c9fe](https://img.shields.io/badge/8d5210c9fe-feat-blue)](https://github.com/angular/angular/commit/8d5210c9fedd8abdd810d7a89ec7ee9a1234f5c1) | add ChangeDetectionStrategy.Eager alias for Default | | [![feat - 92d2498910](https://img.shields.io/badge/92d2498910-feat-blue)](https://github.com/angular/angular/commit/92d2498910caed06c182b67e39726e1441418698) | add host node to DeferBlockData (#66546) | | [![feat - ea2016a6dc](https://img.shields.io/badge/ea2016a6dc-feat-blue)](https://github.com/angular/angular/commit/ea2016a6dce58f95ecab7c773d5dcde274354e1a) | add support for nested animations | | [![feat - 81cabc1477](https://img.shields.io/badge/81cabc1477-feat-blue)](https://github.com/angular/angular/commit/81cabc14777a3b4966c29d60e1505aca8c29b71c) | add support for TypeScript 6 | | [![feat - 1ba9b7ac50](https://img.shields.io/badge/1ba9b7ac50-feat-blue)](https://github.com/angular/angular/commit/1ba9b7ac5001b315cc9df78c518964dbf479d647) | resource composition via snapshots | | [![feat - d9923b72a2](https://img.shields.io/badge/d9923b72a2-feat-blue)](https://github.com/angular/angular/commit/d9923b72a20972ba6bf728d78f1afac6936ade18) | support arrow functions in expressions | | [![fix - a7e8abbb7e](https://img.shields.io/badge/a7e8abbb7e-fix-green)](https://github.com/angular/angular/commit/a7e8abbb7e738ba338c3f50c76934c99925954e5) | correctly handle SkipSelf when resolving from embedded view injector | | [![fix - 0806ee3826](https://img.shields.io/badge/0806ee3826-fix-green)](https://github.com/angular/angular/commit/0806ee38269b664f535e10d4d501b88370d3b44c) | prevent animated element duplication with dynamic components in zoneless mode | | [![fix - ed78fa05c7](https://img.shields.io/badge/ed78fa05c7-fix-green)](https://github.com/angular/angular/commit/ed78fa05c710ebafb355ae00a85b190a118b6cc4) | Remove note to skip arrow functions in best practices | ### forms | Commit | Description | | -- | -- | | [![feat - f56bb07d83](https://img.shields.io/badge/f56bb07d83-feat-blue)](https://github.com/angular/angular/commit/f56bb07d83a015b0ac12e74fdb0cf1550ff36b97) | add field param to submit action and onInvalid | | [![feat - ba009b6031](https://img.shields.io/badge/ba009b6031-feat-blue)](https://github.com/angular/angular/commit/ba009b603119299a03f9d844f93882d42d47d150) | add form directive | | [![feat - 22afbb2f36](https://img.shields.io/badge/22afbb2f36-feat-blue)](https://github.com/angular/angular/commit/22afbb2f36be89c2ae575df343571a918dec5985) | add parsing support to native inputs (#66917) | | [![feat - 95c386469c](https://img.shields.io/badge/95c386469c-feat-blue)](https://github.com/angular/angular/commit/95c386469c7a2f09dd731601c2061bdb10d25717) | Add passing focus options to form field | | [![feat - 95ecce8334](https://img.shields.io/badge/95ecce8334-feat-blue)](https://github.com/angular/angular/commit/95ecce8334299defe55fb2b74264e5258ffd137c) | allow setting submit options at form-level | | [![feat - ebae211add](https://img.shields.io/badge/ebae211add-feat-blue)](https://github.com/angular/angular/commit/ebae211add37700858adeb8fc5d87bf503a59721) | introduce parse errors in signal forms | | [![feat - 3937afc316](https://img.shields.io/badge/3937afc316-feat-blue)](https://github.com/angular/angular/commit/3937afc3167ce409eebb06d91d5fb122eea4e33d) | introduce SignalFormControl for Reactive Forms compatibility | | [![feat - 30f0914754](https://img.shields.io/badge/30f0914754-feat-blue)](https://github.com/angular/angular/commit/30f09147545b67185f93efb9796e37c1db76733a) | support binding null to number input (#66917) | | [![feat - dd208ca259](https://img.shields.io/badge/dd208ca259-feat-blue)](https://github.com/angular/angular/commit/dd208ca2595258fcd1e289374f812ce0b56c7011) | update submit function to accept options object | | [![fix - 27397b3f4f](https://img.shields.io/badge/27397b3f4f-fix-green)](https://github.com/angular/angular/commit/27397b3f4f3182ce00d6e2f8690285c316e2a274) | clear parse errors when model updates (#66917) | | [![fix - 63d8005703](https://img.shields.io/badge/63d8005703-fix-green)](https://github.com/angular/angular/commit/63d80057039928b3e878b59c1fe6b93ef1c6b701) | preserve custom-control focus context in signal forms | | [![fix - 631f60d1f9](https://img.shields.io/badge/631f60d1f9-fix-green)](https://github.com/angular/angular/commit/631f60d1f9be72cb68330308a6ff18cc195babb8) | preserve parse errors when parse returns value | | [![fix - adfb83146b](https://img.shields.io/badge/adfb83146b-fix-green)](https://github.com/angular/angular/commit/adfb83146b0c149734f43961563b389e00cc1d85) | simplify design of parse errors | | [![fix - fb05fc86d0](https://img.shields.io/badge/fb05fc86d0-fix-green)](https://github.com/angular/angular/commit/fb05fc86d0f12ffafd94c7c1420118d8a79f7e59) | sort error summary by DOM order | | [![fix - 567f292e8e](https://img.shields.io/badge/567f292e8e-fix-green)](https://github.com/angular/angular/commit/567f292e8e0f9d2b5ddebadfa1c6d6dd6c456f39) | support custom controls as host directives | | [![fix - bdfb60f3e3](https://img.shields.io/badge/bdfb60f3e3-fix-green)](https://github.com/angular/angular/commit/bdfb60f3e33065e047183dc1890c36e527e2b304) | use consistent error format returned from parse | | [![fix - d75046bc09](https://img.shields.io/badge/d75046bc09-fix-green)](https://github.com/angular/angular/commit/d75046bc091699bbadcb5f2032be627e983ee6fa) | warn when showing hidden field state | ### language-server | Commit | Description | | -- | -- | | [![feat - ebc90c26f5](https://img.shields.io/badge/ebc90c26f5-feat-blue)](https://github.com/angular/angular/commit/ebc90c26f5ff1ba1e0ca9b775a44e301ebfb9473) | Add completions and hover info for inline styles | | [![feat - 26fd0839c3](https://img.shields.io/badge/26fd0839c3-feat-blue)](https://github.com/angular/angular/commit/26fd0839c32d2ebeaa5e3ecc10ed70ab9ca17749) | Add folding range support for inline styles | | [![feat - 573aadef7e](https://img.shields.io/badge/573aadef7e-feat-blue)](https://github.com/angular/angular/commit/573aadef7eb8b6b5e83b82a16f95d2a556f27c01) | Add quick info for inline styles | | [![feat - 6fb39d9b62](https://img.shields.io/badge/6fb39d9b62-feat-blue)](https://github.com/angular/angular/commit/6fb39d9b62cbb634e95ec00fe5ef85d84da3bdbd) | Support client-side file watching via `onDidChangeWatchedFiles` | ### language-service | Commit | Description | | -- | -- | | [![feat - 496967e7b1](https://img.shields.io/badge/496967e7b1-feat-blue)](https://github.com/angular/angular/commit/496967e7b13dfe1ebdde69724cd62880914beb60) | add JSON schema for angularCompilerOptions | | [![feat - 8c21866f49](https://img.shields.io/badge/8c21866f49-feat-blue)](https://github.com/angular/angular/commit/8c21866f49ff74344551395ae0a5df1841d54c0d) | add linked editing ranges for HTML tag synchronization | | [![perf - d2137928e8](https://img.shields.io/badge/d2137928e8-perf-orange)](https://github.com/angular/angular/commit/d2137928e8f075527016a3c011dd8efc4d4e1ebd) | use lightweight project warmup for Angular analysis | ### router | Commit | Description | | -- | -- | | [![feat - b51bab583d](https://img.shields.io/badge/b51bab583d-feat-blue)](https://github.com/angular/angular/commit/b51bab583d84e38f16dea489e4119edc34e2a491) | Add partial ActivatedRouteSnapshot information to `canMatch` params | | [![feat - cf9620f7d0](https://img.shields.io/badge/cf9620f7d0-feat-blue)](https://github.com/angular/angular/commit/cf9620f7d072897f13b7f281b7bca6f51f69cfd0) | Make match options optional in isActive | | [![feat - 907a94dcec](https://img.shields.io/badge/907a94dcec-feat-blue)](https://github.com/angular/angular/commit/907a94dcec2926a5c7d0c4d36249bd62e31a2ae3) | Update `IsActiveMatchOptions` APIs to accept a Partial | -- View it on GitHub: https://github.com/angular/angular/releases/tag/v21.2.0 You are receiving this because you are subscribed to this thread. Message ID: <angular/angular/releases/290532388@github.com>

github.com
Related Topics: Angular
1 comments