angular/angular (@angular/compiler)
### [`v18.2.10`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#18210-2024-10-30)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.9...18.2.10)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [69dce38e778](https://redirect.github.com/angular/angular/commit/69dce38e778cb4c15aa06347031765a84e3ac6a5) | fix | transform pseudo selectors correctly for the encapsulated view. ([#58417](https://redirect.github.com/angular/angular/pull/58417)) |
##### localize
| Commit | Type | Description |
| -- | -- | -- |
| [3b989ac5bd9](https://redirect.github.com/angular/angular/commit/3b989ac5bd951a3d28bcd0ada150fc81503a016a) | fix | Adding arb format to the list of valid formats in the localization extractor cli ([#58287](https://redirect.github.com/angular/angular/pull/58287)) |
### [`v18.2.9`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1829-2024-10-23)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.8...18.2.9)
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [b0ab653965](https://redirect.github.com/angular/angular/commit/b0ab653965cf88fcfde23fc6a6cc78ce3121a30f) | fix | report when NgModule imports or exports itself ([#58231](https://redirect.github.com/angular/angular/pull/58231)) |
### [`v18.2.8`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1828-2024-10-10)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.7...18.2.8)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [11692c8dab](https://redirect.github.com/angular/angular/commit/11692c8dab2a78dc8780ceed301242d51dee7c9c) | fix | add multiple :host and nested selectors support ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [66dcc691f5](https://redirect.github.com/angular/angular/commit/66dcc691f55eafc9de9a233b9bab53284fc13e1b) | fix | allow combinators inside pseudo selectors ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [48a1437e77](https://redirect.github.com/angular/angular/commit/48a1437e77be5c3b29b8bbcd1b5d7784fbb67e68) | fix | fix comment typo ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [d325f9b55f](https://redirect.github.com/angular/angular/commit/d325f9b55f248e5bd059645be901f210018f8fa2) | fix | fix parsing of the :host-context with pseudo selectors ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [aea747ab3b](https://redirect.github.com/angular/angular/commit/aea747ab3bcbca79dbbc7ddfc41e11b9e43952eb) | fix | preserve attributes attached to :host selector ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [21be258be6](https://redirect.github.com/angular/angular/commit/21be258be687a300ca22daad823e0b931029db35) | fix | scope :host-context inside pseudo selectors, do not decrease specificity ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
| [7a6fd427d5](https://redirect.github.com/angular/angular/commit/7a6fd427d5ad70ad4c50693f54a6e77bf51eea86) | fix | transform pseudo selectors correctly for the encapsulated view ([#57796](https://redirect.github.com/angular/angular/pull/57796)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [f187c3abf8](https://redirect.github.com/angular/angular/commit/f187c3abf8b9547b2692995f344cd7dcb9f32ebc) | fix | defer symbols only used in types ([#58104](https://redirect.github.com/angular/angular/pull/58104)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [46bafb0b0a](https://redirect.github.com/angular/angular/commit/46bafb0b0a952d8e9c2a0099f0607354697bbeaa) | fix | clean up afterRender after it is executed ([#58119](https://redirect.github.com/angular/angular/pull/58119)) |
##### platform-server
| Commit | Type | Description |
| -- | -- | -- |
| [b40875a2cc](https://redirect.github.com/angular/angular/commit/b40875a2cc28a94015e6392044a03b30c2559999) | fix | destroy `PlatformRef` when error happens during the `bootstrap()` phase ([#58112](https://redirect.github.com/angular/angular/pull/58112)) ([#58135](https://redirect.github.com/angular/angular/pull/58135)) |
### [`v18.2.7`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1827-2024-10-02)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.6...18.2.7)
##### common
| Commit | Type | Description |
| -- | -- | -- |
| [249d0260f9](https://redirect.github.com/angular/angular/commit/249d0260f97a2fec8e4daef0b1565ba40b27d370) | fix | execute checks and remove placeholder when image is already loaded ([#55444](https://redirect.github.com/angular/angular/pull/55444)) |
| [46a2ad39f5](https://redirect.github.com/angular/angular/commit/46a2ad39f53f6e3b224dfe4b25087c08830713b6) | fix | prevent warning about oversize image twice ([#58021](https://redirect.github.com/angular/angular/pull/58021)) |
| [8f2b0ede59](https://redirect.github.com/angular/angular/commit/8f2b0ede5962ad30171843cd7af80c8878b35b53) | fix | skip checking whether SVGs are oversized ([#57966](https://redirect.github.com/angular/angular/pull/57966)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [901c1e1a7f](https://redirect.github.com/angular/angular/commit/901c1e1a7faadee73af4f9e6c37efa778f406ab8) | fix | correctly get the type of nested function call expressions ([#57010](https://redirect.github.com/angular/angular/pull/57010)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [2f347ef8fc](https://redirect.github.com/angular/angular/commit/2f347ef8fcef8645d86047d7a339405c0156aa43) | fix | provide flag to opt into manual cleanup for after render hooks ([#57917](https://redirect.github.com/angular/angular/pull/57917)) |
##### http
| Commit | Type | Description |
| -- | -- | -- |
| [ca637fe6a9](https://redirect.github.com/angular/angular/commit/ca637fe6a95bd020221d71cd0581a3394070cf2c) | fix | cleanup JSONP script listeners once loading completed ([#57877](https://redirect.github.com/angular/angular/pull/57877)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [b9d846dad7](https://redirect.github.com/angular/angular/commit/b9d846dad77832dff44b112ac22951e0f31733ba) | fix | delete constructor if it only has super call ([#58013](https://redirect.github.com/angular/angular/pull/58013)) |
##### upgrade
| Commit | Type | Description |
| -- | -- | -- |
| [e40a4fa3c7](https://redirect.github.com/angular/angular/commit/e40a4fa3c71c9ad76c1546b38ca2e9f74eff7dc0) | fix | support input signal bindings ([#57020](https://redirect.github.com/angular/angular/pull/57020)) |
### [`v18.2.6`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1826-2024-09-25)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.5...18.2.6)
### [`v18.2.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1825-2024-09-18)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.4...18.2.5)
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [e685ed883a](https://redirect.github.com/angular/angular/commit/e685ed883a09628c2b87a11a17ffb6d858d51c54) | fix | extended diagnostics not validating ICUs ([#57845](https://redirect.github.com/angular/angular/pull/57845)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [76709d5d6e](https://redirect.github.com/angular/angular/commit/76709d5d6ec1f83e3f44641704b540636f91b5f4) | fix | Handle `@let` declaration with array when `preparingForHydration` ([#57816](https://redirect.github.com/angular/angular/pull/57816)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [5c866942a1](https://redirect.github.com/angular/angular/commit/5c866942a1b8a60e3a024385048bbb2f52f84513) | fix | account for explicit standalone: false in migration ([#57803](https://redirect.github.com/angular/angular/pull/57803)) |
### [`v18.2.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1824-2024-09-11)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.3...18.2.4)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [b619d6987e](https://redirect.github.com/angular/angular/commit/b619d6987efe054b9b37c24e578f58792b25d146) | fix | produce less noisy errors when parsing control flow ([#57711](https://redirect.github.com/angular/angular/pull/57711)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [9895e4492f](https://redirect.github.com/angular/angular/commit/9895e4492fbe357b584ca5a6dd86d2c9d50d9fda) | fix | replace leftover modules with their exports during pruning ([#57684](https://redirect.github.com/angular/angular/pull/57684)) |
### [`v18.2.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1823-2024-09-04)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.2...18.2.3)
##### http
| Commit | Type | Description |
| -- | -- | -- |
| [de68e049e4](https://redirect.github.com/angular/angular/commit/de68e049e40ab702d9e2b7dd02070de9856377df) | fix | Dynamicaly call the global fetch implementation ([#57531](https://redirect.github.com/angular/angular/pull/57531)) |
### [`v18.2.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1822-2024-08-28)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.1...18.2.2)
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [106917af878](https://redirect.github.com/angular/angular/commit/106917af87868a801d536371511436247ca17382) | fix | avoid leaking memory if component throws during creation ([#57546](https://redirect.github.com/angular/angular/pull/57546)) |
| [6d3a2af146a](https://redirect.github.com/angular/angular/commit/6d3a2af146a83f362501f911790503776383369f) | fix | Do not bubble capture events. ([#57476](https://redirect.github.com/angular/angular/pull/57476)) |
##### http
| Commit | Type | Description |
| -- | -- | -- |
| [5d2e243c76a](https://redirect.github.com/angular/angular/commit/5d2e243c76ac55080bce35b9c3704ad9c2e4a932) | fix | Dynamicaly call the global fetch implementation ([#57531](https://redirect.github.com/angular/angular/pull/57531)) |
##### router
| Commit | Type | Description |
| -- | -- | -- |
| [804925b1149](https://redirect.github.com/angular/angular/commit/804925b11492cbcaa586c90958615abe5c525e5f) | fix | Do not unnecessarily run matcher twice on route matching ([#57530](https://redirect.github.com/angular/angular/pull/57530)) |
##### upgrade
| Commit | Type | Description |
| -- | -- | -- |
| [03ec620e31a](https://redirect.github.com/angular/angular/commit/03ec620e31a0335a05013659daaa947010df6778) | fix | Address Trusted Types violations in [@angular/upgrade](https://redirect.github.com/angular/upgrade) ([#57454](https://redirect.github.com/angular/angular/pull/57454)) |
### [`v18.2.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1821-2024-08-22)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.2.0...18.2.1)
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [9de30a7b1c](https://redirect.github.com/angular/angular/commit/9de30a7b1cbda5bd85db607266ad533c1aac0a02) | fix | Allow zoneless scheduler to run inside `fakeAsync` ([#56932](https://redirect.github.com/angular/angular/pull/56932)) |
| [286012fb89](https://redirect.github.com/angular/angular/commit/286012fb89270bd9330ffeb229f3a14b6e67d2a9) | fix | handle hydration of components that project content conditionally ([#57383](https://redirect.github.com/angular/angular/pull/57383)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [0bb649b8fa](https://redirect.github.com/angular/angular/commit/0bb649b8fa22a0db4f383db29995105b0b4adc81) | fix | account for members with doc strings and no modifiers ([#57389](https://redirect.github.com/angular/angular/pull/57389)) |
| [3b63082384](https://redirect.github.com/angular/angular/commit/3b63082384b396514dd836b7763202536f3f4f23) | fix | avoid migrating route component in tests ([#57317](https://redirect.github.com/angular/angular/pull/57317)) |
| [6b4357fae4](https://redirect.github.com/angular/angular/commit/6b4357fae45f0c187c8d23649b94a828dd9aaa6e) | fix | preserve type when using inject decorator ([#57389](https://redirect.github.com/angular/angular/pull/57389)) |
### [`v18.2.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1820-2024-08-14)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.5...18.2.0)
#### Breaking Changes
##### zone.js
- `fakeAsync` will now flush pending timers at the end of
the given function by default. To opt-out of this, you can use `{flush:
false}` in options parameter of `fakeAsync`
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [c8e2885136](https://redirect.github.com/angular/angular/commit/c8e2885136b08981333a336b7b2ba553266eba63) | feat | Add extended diagnostic to warn when there are uncalled functions in event bindings ([#56295](https://redirect.github.com/angular/angular/pull/56295)) ([#56295](https://redirect.github.com/angular/angular/pull/56295)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [98ed5b609e](https://redirect.github.com/angular/angular/commit/98ed5b609e76d3d2b464abfe49d70413c54d3eee) | feat | run JIT transform on classes with `jit: true` opt-out ([#56892](https://redirect.github.com/angular/angular/pull/56892)) |
| [c76b440ac0](https://redirect.github.com/angular/angular/commit/c76b440ac007128c53699797811bc586220ccbe9) | fix | add warning for unused let declarations ([#57033](https://redirect.github.com/angular/angular/pull/57033)) |
| [0f0a1f2836](https://redirect.github.com/angular/angular/commit/0f0a1f28365cdb2dc6abed5ec75d4f6ba7ff1578) | fix | emitting references to ngtypecheck files ([#57138](https://redirect.github.com/angular/angular/pull/57138)) |
| [6c2fbda694](https://redirect.github.com/angular/angular/commit/6c2fbda6942adbc7b21f3dfc1db0a42638223a1a) | fix | extended diagnostic visitor not visiting template attributes ([#57033](https://redirect.github.com/angular/angular/pull/57033)) |
| [e11c0c42d2](https://redirect.github.com/angular/angular/commit/e11c0c42d2cbcdf8a5d75a4e24a6a5dbed33943e) | fix | run JIT transforms on `@NgModule` classes with `jit: true` ([#57212](https://redirect.github.com/angular/angular/pull/57212)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [f7918f5272](https://redirect.github.com/angular/angular/commit/f7918f52720d3e903281154725cb257a952e8896) | feat | Add 'flush' parameter option to fakeAsync to flush after the test ([#57239](https://redirect.github.com/angular/angular/pull/57239)) |
| [fab673a1dd](https://redirect.github.com/angular/angular/commit/fab673a1ddbca19ff9734f92a5ef0cc16be5708c) | feat | add ng generate schematic to convert to inject ([#57056](https://redirect.github.com/angular/angular/pull/57056)) |
| [7919982063](https://redirect.github.com/angular/angular/commit/7919982063e7638ffabe2127d4803bb930c791bc) | feat | Add whenStable helper on ApplicationRef ([#57190](https://redirect.github.com/angular/angular/pull/57190)) |
| [3459289ef0](https://redirect.github.com/angular/angular/commit/3459289ef079a80e84bb92e20c25fb6cae18aaf8) | feat | bootstrapModule can configure NgZone in providers ([#57060](https://redirect.github.com/angular/angular/pull/57060)) |
| [296216cbe1](https://redirect.github.com/angular/angular/commit/296216cbe1c70822d4b444321d218d57c89621b2) | fix | Allow hybrid CD scheduling to support multiple "Angular zones" ([#57267](https://redirect.github.com/angular/angular/pull/57267)) |
| [8718abce90](https://redirect.github.com/angular/angular/commit/8718abce900617275d80ca56141d4e4436481b69) | fix | Deprecate ignoreChangesOutsideZone option ([#57029](https://redirect.github.com/angular/angular/pull/57029)) |
| [827070e331](https://redirect.github.com/angular/angular/commit/827070e3314d4c3acee77920dc0d5375398917ab) | fix | Do not run image performance warning checks on server ([#57234](https://redirect.github.com/angular/angular/pull/57234)) |
| [ca89ef9141](https://redirect.github.com/angular/angular/commit/ca89ef9141191d56415bdf62354f5125800a4039) | fix | handle shorthand assignment in the inject migration ([#57134](https://redirect.github.com/angular/angular/pull/57134)) |
| [5dcdbfcba9](https://redirect.github.com/angular/angular/commit/5dcdbfcba934a930468aec140a7183b034466bdf) | fix | rename the equality function option in toSignal ([#56769](https://redirect.github.com/angular/angular/pull/56769)) |
| [2a4f488a6c](https://redirect.github.com/angular/angular/commit/2a4f488a6cb8bdadece70c8aa076c02fae801688) | fix | warnings for oversized images and lazy-lcp present with bootstrapModule ([#57060](https://redirect.github.com/angular/angular/pull/57060)) |
##### language-service
| Commit | Type | Description |
| -- | -- | -- |
| [4bb558ab0c](https://redirect.github.com/angular/angular/commit/4bb558ab0cbf2e5e34816377e977128a177a977a) | feat | support writing code refactorings ([#56895](https://redirect.github.com/angular/angular/pull/56895)) |
| [7663debce1](https://redirect.github.com/angular/angular/commit/7663debce1a8411a763a27b7cf8bc5955f8ea2ed) | perf | quick exit if no code fixes can exist ([#57000](https://redirect.github.com/angular/angular/pull/57000)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [147eee4253](https://redirect.github.com/angular/angular/commit/147eee42530b8e7d6a99f37c8eba7a38cbe29522) | feat | add migration to convert standalone component routes to be lazy loaded ([#56428](https://redirect.github.com/angular/angular/pull/56428)) |
| [cb442a0ce7](https://redirect.github.com/angular/angular/commit/cb442a0ce7183c7d0e315a58ade75aa09bdaf6dd) | fix | account for parameters with union types ([#57127](https://redirect.github.com/angular/angular/pull/57127)) |
| [166166d79e](https://redirect.github.com/angular/angular/commit/166166d79ebe2405989b869f96a04e1dee182666) | fix | add alias to inject migration ([#57127](https://redirect.github.com/angular/angular/pull/57127)) |
| [b1a9d0f4de](https://redirect.github.com/angular/angular/commit/b1a9d0f4de75c4b8b837379ae466a393543ed458) | fix | avoid duplicating comments when generating properties ([#57367](https://redirect.github.com/angular/angular/pull/57367)) |
| [5d76401ff5](https://redirect.github.com/angular/angular/commit/5d76401ff5e06437e65f4a8a6f44794fdcb088a6) | fix | preserve optional parameters ([#57367](https://redirect.github.com/angular/angular/pull/57367)) |
| [1cf616f671](https://redirect.github.com/angular/angular/commit/1cf616f6710d1324e24bc3421a1edc84c8bb1a02) | fix | remove generic arguments from the injected type reference ([#57127](https://redirect.github.com/angular/angular/pull/57127)) |
| [ba0df30ef6](https://redirect.github.com/angular/angular/commit/ba0df30ef617df0a8b6b7286f0147f7d1509330e) | fix | remove unused imports in inject migration ([#57179](https://redirect.github.com/angular/angular/pull/57179)) |
| [aae9646a1b](https://redirect.github.com/angular/angular/commit/aae9646a1b5a5ce114e624d9c1452d9f4c71b969) | fix | unwrap injected forwardRef ([#57127](https://redirect.github.com/angular/angular/pull/57127)) |
| [604270619a](https://redirect.github.com/angular/angular/commit/604270619a21a50f980904c48d87ea5c46aff56d) | perf | speed up signal input migration by combining two analyze phases ([#57318](https://redirect.github.com/angular/angular/pull/57318)) |
##### router
| Commit | Type | Description |
| -- | -- | -- |
| [6c76c91e15](https://redirect.github.com/angular/angular/commit/6c76c91e151b53dfaccb4be43d43a8d857715dd7) | feat | Add defaultQueryParamsHandling to router configuration ([#57198](https://redirect.github.com/angular/angular/pull/57198)) |
### [`v18.1.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1815-2024-08-14)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.4...18.1.5)
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [5401332b0e](https://redirect.github.com/angular/angular/commit/5401332b0ef1ec398a5e9767ca73cec544635c93) | fix | generate valid TS 5.6 type checking code ([#57303](https://redirect.github.com/angular/angular/pull/57303)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [e39b22a932](https://redirect.github.com/angular/angular/commit/e39b22a932384f228e97414c44d10c7e158dfd2f) | fix | Account for addEventListener to be passed a Window or Document. ([#57282](https://redirect.github.com/angular/angular/pull/57282)) |
| [db65bc25ca](https://redirect.github.com/angular/angular/commit/db65bc25cab413221fef1c2cdaf7c53f569219c8) | fix | Account for addEventListener to be passed a Window or Document. ([#57354](https://redirect.github.com/angular/angular/pull/57354)) |
| [0e024ecc27](https://redirect.github.com/angular/angular/commit/0e024ecc27815c308feef0dbdf36d4d751af4436) | fix | complete post-hydration cleanup in components that use ViewContainerRef ([#57300](https://redirect.github.com/angular/angular/pull/57300)) |
| [822db64b93](https://redirect.github.com/angular/angular/commit/822db64b937db8a581ec9612cf9e3e6e149c820f) | fix | skip hydration for i18n nodes that were not projected ([#57356](https://redirect.github.com/angular/angular/pull/57356)) |
| [810f76f574](https://redirect.github.com/angular/angular/commit/810f76f57416853d5bc006e57bea070416117e79) | fix | take skip hydration flag into account while hydrating i18n blocks ([#57299](https://redirect.github.com/angular/angular/pull/57299)) |
### [`v18.1.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1814-2024-08-07)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.3...18.1.4)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [6a99f83659](https://redirect.github.com/angular/angular/commit/6a99f836593de35989cddc3db849da133814f8fb) | fix | reduce chance of conflicts between generated factory and local variables ([#57181](https://redirect.github.com/angular/angular/pull/57181)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [afb05ff1cb](https://redirect.github.com/angular/angular/commit/afb05ff1cb008478c98987edfa54ec848ae555d6) | fix | support JIT transforms before other transforms modifying classes ([#57262](https://redirect.github.com/angular/angular/pull/57262)) |
| [bae54a1621](https://redirect.github.com/angular/angular/commit/bae54a1621e1c0427519abfa81fc4796c43f1551) | perf | improve performance of `interpolatedSignalNotInvoked` extended diagnostic ([#57291](https://redirect.github.com/angular/angular/pull/57291)) |
##### language-service
| Commit | Type | Description |
| -- | -- | -- |
| [6ac209c24f](https://redirect.github.com/angular/angular/commit/6ac209c24f46a1240b1a186eb403c79ef596d68a) | fix | avoid generating TS suggestion diagnostics for templates ([#56241](https://redirect.github.com/angular/angular/pull/56241)) |
### [`v18.1.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1813-2024-07-31)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.2...18.1.3)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [31dea066d6](https://redirect.github.com/angular/angular/commit/31dea066d636bb49fa18b1172815b1ef7af4dbe5) | fix | reduce chance of conflicts between generated factory and local variables ([#57181](https://redirect.github.com/angular/angular/pull/57181)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [1f9e090910](https://redirect.github.com/angular/angular/commit/1f9e09091076924a2f2c2d4bd6e5f65303bf8fea) | fix | emitting references to ngtypecheck files ([#57138](https://redirect.github.com/angular/angular/pull/57138)) ([#57202](https://redirect.github.com/angular/angular/pull/57202)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [f7ab04018e](https://redirect.github.com/angular/angular/commit/f7ab04018ea0fe12781de987fff40fd1dc30f3f0) | fix | errors during ApplicationRef.tick should be rethrown for zoneless tests ([#56993](https://redirect.github.com/angular/angular/pull/56993)) |
| [eaa83f9d27](https://redirect.github.com/angular/angular/commit/eaa83f9d279855b104597d396e39fe3496470daf) | fix | hydration error in some let declaration setups ([#57173](https://redirect.github.com/angular/angular/pull/57173)) |
### [`v18.1.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1812-2024-07-24)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.1...18.1.2)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [463945003d](https://redirect.github.com/angular/angular/commit/463945003dcf253c64809ffdcddabedb87e78e06) | fix | limit the number of chained instructions ([#57069](https://redirect.github.com/angular/angular/pull/57069)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [e904f34020](https://redirect.github.com/angular/angular/commit/e904f3402053ce9098854a31f2652020dd79e8f9) | fix | add warning for unused let declarations ([#57033](https://redirect.github.com/angular/angular/pull/57033)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [9e52c1c840](https://redirect.github.com/angular/angular/commit/9e52c1c8402dd5a54cf73caafff4a5b81d73fabd) | fix | `afterNextRender` hooks return that callback value. ([#57031](https://redirect.github.com/angular/angular/pull/57031)) |
| [b9fb98c67c](https://redirect.github.com/angular/angular/commit/b9fb98c67c29d8e5697b72788f09f1263e8130f4) | fix | tree shake dev mode error message ([#57035](https://redirect.github.com/angular/angular/pull/57035)) |
### [`v18.1.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1811-2024-07-17)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.1.0...18.1.1)
##### common
| Commit | Type | Description |
| -- | -- | -- |
| [a1cb9dfc0d](https://redirect.github.com/angular/angular/commit/a1cb9dfc0d3539d16020a53dd4c32311240a6265) | fix | Don't run preconnect assertion on the server. ([#56213](https://redirect.github.com/angular/angular/pull/56213)) |
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [daf0317bdc](https://redirect.github.com/angular/angular/commit/daf0317bdcef79445eead4a3e0e1be75671f43fb) | fix | JIT mode incorrectly interpreting host directive configuration in partial compilation ([#57002](https://redirect.github.com/angular/angular/pull/57002)) |
| [d7dca6dbb6](https://redirect.github.com/angular/angular/commit/d7dca6dbb6d8afc77a988de0b7471ac4e078762e) | fix | use strict equality for 'code' comparison ([#56944](https://redirect.github.com/angular/angular/pull/56944)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [c94a897248](https://redirect.github.com/angular/angular/commit/c94a8972488f62656f5d0368b8763776e2cd39c6) | fix | avoid emitting references to typecheck files in TS 5.4 ([#56961](https://redirect.github.com/angular/angular/pull/56961)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [5682527d94](https://redirect.github.com/angular/angular/commit/5682527d949b078e92ff7588c7e25dad37fffc52) | fix | not all callbacks running when registered at the same time ([#56981](https://redirect.github.com/angular/angular/pull/56981)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [b666d2c20f](https://redirect.github.com/angular/angular/commit/b666d2c20f932f435fa6c51e1d74d7bca53381f2) | fix | fix common module removal ([#56968](https://redirect.github.com/angular/angular/pull/56968)) |
### [`v18.1.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1810-2024-07-10)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.7...18.1.0)
##### common
| Commit | Type | Description |
| -- | -- | -- |
| [f25653e231](https://redirect.github.com/angular/angular/commit/f25653e2311152d30b14d25acb0dccb4e2b5ea56) | fix | typo in NgOptimizedImage warning ([#56756](https://redirect.github.com/angular/angular/pull/56756)) |
| [9b35726e42](https://redirect.github.com/angular/angular/commit/9b35726e42ebdeed138a25581e0a7eefff466206) | fix | typo in warning for NgOptimizedDirective ([#56817](https://redirect.github.com/angular/angular/pull/56817)) |
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [fd6cd0422d](https://redirect.github.com/angular/angular/commit/fd6cd0422d2d761d2c6cc0cd41838fbba8a3f010) | feat | Add extended diagnostic to warn when there are uncalled functions in event bindings ([#56295](https://redirect.github.com/angular/angular/pull/56295)) |
| [341a116d61](https://redirect.github.com/angular/angular/commit/341a116d611c095ed414c82612adb529e7be310c) | fix | allow more characters in let declaration name ([#56764](https://redirect.github.com/angular/angular/pull/56764)) |
| [2a1291e942](https://redirect.github.com/angular/angular/commit/2a1291e942a3cd645ee635e72e7d83722383d39b) | fix | give precedence to local let declarations over parent ones ([#56752](https://redirect.github.com/angular/angular/pull/56752)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [66e582551e](https://redirect.github.com/angular/angular/commit/66e582551eb081e422e0df41badce1821c46dc62) | fix | avoid duplicate diagnostics for let declarations read before definition ([#56843](https://redirect.github.com/angular/angular/pull/56843)) |
| [4d18c5bfd5](https://redirect.github.com/angular/angular/commit/4d18c5bfd54c53655955c8cd90472081ade40b34) | fix | flag all conflicts between let declarations and local symbols ([#56752](https://redirect.github.com/angular/angular/pull/56752)) |
| [9e21582456](https://redirect.github.com/angular/angular/commit/9e215824565f0d30da7edb20087c4460069a6660) | fix | Show template syntax errors in local compilation modified ([#55855](https://redirect.github.com/angular/angular/pull/55855)) |
| [5996502921](https://redirect.github.com/angular/angular/commit/599650292107f8856c7cd41791bd0856f9d14eb1) | fix | type check let declarations nested inside nodes ([#56752](https://redirect.github.com/angular/angular/pull/56752)) |
| [cdebf751e4](https://redirect.github.com/angular/angular/commit/cdebf751e4949048b01acc92de2517f46fcd5d37) | fix | used before declared diagnostic not firing for control flow blocks ([#56843](https://redirect.github.com/angular/angular/pull/56843)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [ea3c802056](https://redirect.github.com/angular/angular/commit/ea3c80205653af109c688a4d4808143b34591d54) | feat | Add a schematic to migrate afterRender phase flag ([#55648](https://redirect.github.com/angular/angular/pull/55648)) |
| [5df3e78c99](https://redirect.github.com/angular/angular/commit/5df3e78c9907f522f2f96c087b10ca12d57f7028) | feat | add equality function to rxjs-interop `toSignal` ([#56447](https://redirect.github.com/angular/angular/pull/56447)) |
| [0a48d584f2](https://redirect.github.com/angular/angular/commit/0a48d584f2ffeebb9402032182d4fc13a260c5cf) | feat | add support for let syntax ([#56715](https://redirect.github.com/angular/angular/pull/56715)) |
| [352e0782ec](https://redirect.github.com/angular/angular/commit/352e0782ec37d2adcc662cfc69c83d38058a34bf) | feat | expose signal input metadata in `ComponentMirror` ([#56402](https://redirect.github.com/angular/angular/pull/56402)) |
| [a655e46447](https://redirect.github.com/angular/angular/commit/a655e46447962bf56bf0184e3104328b9f7c1531) | feat | Redesign the `afterRender` & `afterNextRender` phases API ([#55648](https://redirect.github.com/angular/angular/pull/55648)) |
| [e5a6f91722](https://redirect.github.com/angular/angular/commit/e5a6f917225aafa7c5c860f280d2aafe3615727e) | feat | support TypeScript 5.5 ([#56096](https://redirect.github.com/angular/angular/pull/56096)) |
| [38effcc63e](https://redirect.github.com/angular/angular/commit/38effcc63eea360e948dc22860add72d3aa02288) | fix | Add back phase flag option as a deprecated API ([#55648](https://redirect.github.com/angular/angular/pull/55648)) |
| [86bcfd3e49](https://redirect.github.com/angular/angular/commit/86bcfd3e498b8ec1de1a2a1ad0847fe567f7e9d4) | fix | improve docs on afterRender hooks ([#56522](https://redirect.github.com/angular/angular/pull/56522)) |
| [b2445a0953](https://redirect.github.com/angular/angular/commit/b2445a095314aa66da038d3093e6a1b18fe5768b) | fix | link errors to ADEV ([#55554](https://redirect.github.com/angular/angular/pull/55554)) ([#56038](https://redirect.github.com/angular/angular/pull/56038)) |
| [03a2acd2a3](https://redirect.github.com/angular/angular/commit/03a2acd2a3bdc87aaeb6b835a7c1016f800b31cb) | fix | properly remove imports in the afterRender phase migration ([#56524](https://redirect.github.com/angular/angular/pull/56524)) |
| [4d87b9e899](https://redirect.github.com/angular/angular/commit/4d87b9e899381894a1de90f251da58613a96eed0) | fix | rename the equality function option in toSignal ([#56769](https://redirect.github.com/angular/angular/pull/56769)) ([#56922](https://redirect.github.com/angular/angular/pull/56922)) |
| [8bd4c074af](https://redirect.github.com/angular/angular/commit/8bd4c074afe85b739dff4d3c4dcc19384c42b85e) | fix | toSignal equal option should be passed to inner computed ([#56903](https://redirect.github.com/angular/angular/pull/56903)) |
##### forms
| Commit | Type | Description |
| -- | -- | -- |
| [00bde8b1c2](https://redirect.github.com/angular/angular/commit/00bde8b1c2d1511da40526a374d4e94d31e0d575) | fix | Make `NgControlStatus` host bindings `OnPush` compatible ([#55720](https://redirect.github.com/angular/angular/pull/55720)) |
##### http
| Commit | Type | Description |
| -- | -- | -- |
| [cc21989132](https://redirect.github.com/angular/angular/commit/cc21989132bc64b981df83cb6ff6e1506b42a1d0) | fix | Make `Content-Type` header case insensitive ([#56541](https://redirect.github.com/angular/angular/pull/56541)) |
##### language-service
| Commit | Type | Description |
| -- | -- | -- |
| [b400e2e4d4](https://redirect.github.com/angular/angular/commit/b400e2e4d4c27a9c8d8e91b52852ef7b64f7591a) | feat | autocompletion for the component not imported ([#55595](https://redirect.github.com/angular/angular/pull/55595)) |
| [67b2c336bc](https://redirect.github.com/angular/angular/commit/67b2c336bc0bdce3f7ae054c094990a9831f5b20) | fix | import the default exported component correctly ([#56432](https://redirect.github.com/angular/angular/pull/56432)) |
##### router
| Commit | Type | Description |
| -- | -- | -- |
| [a13f5da773](https://redirect.github.com/angular/angular/commit/a13f5da77303f4ab2f1543df1de1f416216b5a9c) | feat | Allow `UrlTree` as an input to `routerLink` ([#56265](https://redirect.github.com/angular/angular/pull/56265)) |
| [1d3a7529b4](https://redirect.github.com/angular/angular/commit/1d3a7529b4fa3617a5d6a97e742cb13818253a14) | feat | Set a different browser URL from the one for route matching ([#53318](https://redirect.github.com/angular/angular/pull/53318)) |
### [`v18.0.7`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1807-2024-07-10)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.6...18.0.7)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [85f77b5cda](https://redirect.github.com/angular/angular/commit/85f77b5cda26cefa322e232b4336ae965279f72b) | fix | fix CSS animation rule scope ([#56800](https://redirect.github.com/angular/angular/pull/56800)) |
##### http
| Commit | Type | Description |
| -- | -- | -- |
| [95d7076d1a](https://redirect.github.com/angular/angular/commit/95d7076d1a8c3d0d9544ca7091e78af11cd963b6) | perf | execute `fetch` outside of Angular zone ([#56820](https://redirect.github.com/angular/angular/pull/56820)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [d6fff45e73](https://redirect.github.com/angular/angular/commit/d6fff45e735044612795ae37cf62968bdb0758dd) | fix | Fix cf migration let condition semicolon order ([#56913](https://redirect.github.com/angular/angular/pull/56913)) |
### [`v18.0.6`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1806-2024-07-03)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.5...18.0.6)
##### common
| Commit | Type | Description |
| -- | -- | -- |
| [a55719f55e](https://redirect.github.com/angular/angular/commit/a55719f55eb9b75799dfe41bb56cacdd85b4bd9f) | fix | Don't run preconnect assertion on the server. ([#56213](https://redirect.github.com/angular/angular/pull/56213)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [4909844805](https://redirect.github.com/angular/angular/commit/4909844805635d62535bcb247ef1ca65927c6a3d) | fix | establish proper defer injector hierarchy for components attached to ApplicationRef ([#56763](https://redirect.github.com/angular/angular/pull/56763)) |
| [fec5b80aaf](https://redirect.github.com/angular/angular/commit/fec5b80aaff402bb62bd21d7e8c4182d2484a97f) | fix | support injection of object with null constructor. ([#56553](https://redirect.github.com/angular/angular/pull/56553)) |
##### router
| Commit | Type | Description |
| -- | -- | -- |
| [b7d3ecc873](https://redirect.github.com/angular/angular/commit/b7d3ecc873b2cafe45ffa1bbfc8cfeda4b4c9e6b) | fix | routes should not get stale providers ([#56798](https://redirect.github.com/angular/angular/pull/56798)) |
### [`v18.0.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1805-2024-06-26)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.4...18.0.5)
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [2f73281dfd](https://redirect.github.com/angular/angular/commit/2f73281dfd97fd254179770cbdbda5236f5f37fd) | fix | improve docs on afterRender hooks ([#56525](https://redirect.github.com/angular/angular/pull/56525)) |
| [be9e4892f9](https://redirect.github.com/angular/angular/commit/be9e4892f9d2e3dbc772b732a130f97d67cba965) | fix | improve support for i18n hydration of projected content ([#56192](https://redirect.github.com/angular/angular/pull/56192)) |
| [5f9bd5521e](https://redirect.github.com/angular/angular/commit/5f9bd5521eaadb4106c43eb2f8e7ac25777e9ea6) | fix | prevent calling devMode only function on `@defer` error. ([#56559](https://redirect.github.com/angular/angular/pull/56559)) |
### [`v18.0.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1804-2024-06-20)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.3...18.0.4)
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [ec0d1bf6f3](https://redirect.github.com/angular/angular/commit/ec0d1bf6f337fc4f2c29cacaa6ca5b915eb4e561) | fix | insert constant statements after the first group of imports ([#56431](https://redirect.github.com/angular/angular/pull/56431)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [83ffa94783](https://redirect.github.com/angular/angular/commit/83ffa9478372db3e5dd2d256d266a5612008da0a) | fix | do not activate event replay when no events are registered ([#56509](https://redirect.github.com/angular/angular/pull/56509)) |
##### router
| Commit | Type | Description |
| -- | -- | -- |
| [5578681da2](https://redirect.github.com/angular/angular/commit/5578681da27345b0c8260eb5d73e702d19581abd) | fix | Delay the view transition to ensure renders in microtasks complete ([#56494](https://redirect.github.com/angular/angular/pull/56494)) |
### [`v18.0.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1803-2024-06-12)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.2...18.0.3)
##### benchpress
| Commit | Type | Description |
| -- | -- | -- |
| [ebf00aa0659](https://redirect.github.com/angular/angular/commit/ebf00aa06592a966b72c81ff4ca09c6ef1344a20) | fix | adjust supported browser names for headless chrome ([#56360](https://redirect.github.com/angular/angular/pull/56360)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [dbd0fa00f8c](https://redirect.github.com/angular/angular/commit/dbd0fa00f8c742a9b804ce2a96a0add552a179dd) | fix | async EventEmitter should contribute to app stability ([#56308](https://redirect.github.com/angular/angular/pull/56308)) |
| [625ca3e2b3f](https://redirect.github.com/angular/angular/commit/625ca3e2b3f04fb770ecbef03a9a4151c54e201b) | fix | signals should be tracked when embeddedViewRef.detectChanges is called ([#55719](https://redirect.github.com/angular/angular/pull/55719)) |
##### localize
| Commit | Type | Description |
| -- | -- | -- |
| [d6dd3dbdb09](https://redirect.github.com/angular/angular/commit/d6dd3dbdb09da956a7c7c95187ae29347568b2e9) | fix | add `@angular/localize/init` as polyfill in `angular.json` ([#56300](https://redirect.github.com/angular/angular/pull/56300)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [c07e1b33569](https://redirect.github.com/angular/angular/commit/c07e1b335695ce8e5402e7d7ad7810ccd472b224) | fix | resolve error in standalone migration ([#56302](https://redirect.github.com/angular/angular/pull/56302)) |
### [`v18.0.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1802-2024-06-05)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.1...18.0.2)
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [78cf9bfc0e](https://redirect.github.com/angular/angular/commit/78cf9bfc0eb1e78c1f6d3a562e65982579698896) | fix | Do not migrate `HttpClientModule` imports on components. ([#56067](https://redirect.github.com/angular/angular/pull/56067)) |
| [616cdef474](https://redirect.github.com/angular/angular/commit/616cdef4748d5112460cf58200832585856777d6) | fix | don't coerce all producers to consumers on liveness change ([#56140](https://redirect.github.com/angular/angular/pull/56140)) |
| [2a440e1064](https://redirect.github.com/angular/angular/commit/2a440e1064bddc839df91dbe77fc27bb8bd15641) | fix | Fix shouldPreventDefaultBeforeDispatching bug ([#56188](https://redirect.github.com/angular/angular/pull/56188)) |
| [290a47d842](https://redirect.github.com/angular/angular/commit/290a47d8427f4854234cb2b4244871eaf1f82c19) | fix | handle missing `withI18nSupport()` call for components that use i18n blocks ([#56175](https://redirect.github.com/angular/angular/pull/56175)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [b70b80ba55](https://redirect.github.com/angular/angular/commit/b70b80ba55ff16a5dd10e07c7120b0d3aecd5d2d) | fix | do not generate aliased variables with the same name ([#56154](https://redirect.github.com/angular/angular/pull/56154)) |
### [`v18.0.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1801-2024-05-29)
[Compare Source](https://redirect.github.com/angular/angular/compare/18.0.0...18.0.1)
##### compiler
| Commit | Type | Description |
| -- | -- | -- |
| [419ffa2026](https://redirect.github.com/angular/angular/commit/419ffa20265e4b9b5b1d92045ec40f59f5c4de2e) | fix | optimize track function that only passes $index ([#55872](https://redirect.github.com/angular/angular/pull/55872)) |
##### compiler-cli
| Commit | Type | Description |
| -- | -- | -- |
| [4c7efc005a](https://redirect.github.com/angular/angular/commit/4c7efc005a8d0d343f437007740254b1d35c718b) | fix | interpolatedSignalNotInvoked diagnostic for class, style, attribute and animation bindings ([#55969](https://redirect.github.com/angular/angular/pull/55969)) |
##### core
| Commit | Type | Description |
| -- | -- | -- |
| [4e6ea0e19c](https://redirect.github.com/angular/angular/commit/4e6ea0e19c52c9aceb635accb379572c78a457da) | fix | handle elements with local refs in event replay serialization logic ([#56076](https://redirect.github.com/angular/angular/pull/56076)) |
| [d73a0175cb](https://redirect.github.com/angular/angular/commit/d73a0175cb2d8c74e6bb877dc30eec07fd484fff) | fix | link errors to ADEV ([#55554](https://redirect.github.com/angular/angular/pull/55554)) |
| [985a215b10](https://redirect.github.com/angular/angular/commit/985a215b102be2a58dd4d13e1c05399f58f3078e) | fix | typo in zoneless warning ([#55974](https://redirect.github.com/angular/angular/pull/55974)) |
##### migrations
| Commit | Type | Description |
| -- | -- | -- |
| [ba85d08158](https://redirect.github.com/angular/angular/commit/ba85d081583277a5b7a04bc349a3a8d528467c52) | fix | handle empty ngSwitchCase ([#56105](https://redirect.github.com/angular/angular/pull/56105)) |
### [`v18.0.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1800-2024-05-22)
[Compare Source](https://redirect.github.com/angular/angular/compare/17.3.12...18.0.0)
[Blog post "Angular v18 is now available"](http://goo.gle/angular-v18).
#### Breaking Changes
##### animations
- Deprecated `matchesElement` method has been removed from `AnimationDriver` as it is unused.
##### common
- The deprecated `isPlatformWorkerUi` and `isPlatformWorkerApp` have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform.
##### compiler
- Angular only supports writable expressions inside of two-way bindings.
##### compiler-cli
- - Angular no longer supports TypeScript versions older than 5.4.
##### core
- `OnPush` views at the root of the application need to
be marked dirty for their host bindings to refresh. Previously, the host
bindings were refreshed for all root views without respecting the
`OnPush` change detection strategy.
- `OnPush` views at the root of the application need to
be marked dirty for their host bindings to refresh. Previously, the host
bindings were refreshed for all root views without respecting the
`OnPush` change detection strategy.
- The `ComponentFixture` `autoDetect` feature will no
longer refresh the component's host view when the component is `OnPush`
and not marked dirty. This exposes existing issues in components which
claim to be `OnPush` but do not correctly call `markForCheck` when they
need to be refreshed. If this change causes test failures, the easiest
fix is to change the component to `ChangeDetectionStrategy.Default`.
- `ComponentFixture.whenStable` now matches the
`ApplicationRef.isStable` observable. Prior to this change, stability
of the fixture did not include everything that was considered in
`ApplicationRef`. `whenStable` of the fixture will now include unfinished
router navigations and unfinished `HttpClient` requests. This will cause
tests that `await` the `whenStable` promise to time out when there are
incomplete requests. To fix this, remove the `whenStable`,
instead wait for another condition, or ensure `HttpTestingController`
mocks responses for all requests. Try adding `HttpTestingController.verify()`
before your `await fixture.whenStable` to identify the open requests.
Also, make sure your tests wait for the stability promise. We found many
examples of tests that did not, meaning the expectations did not execute
within the test body.
In addition, `ComponentFixture.isStable` would synchronously switch to
true in some scenarios but will now always be asynchronous.
- Angular will ensure change detection runs, even when the state update originates from
outside the zone, tests may observe additional rounds of change
detection compared to the previous behavior.
This change will be more likely to impact existing unit tests.
This should usually be seen as more correct and the test should be updated,
but in cases where it is too much effort to debug, the test can revert to the old behavior by adding
`provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})`
to the `TestBed` providers.
Similarly, applications which may want to update state outside the zone
and *not* trigger change detection can add
`provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})`
to the providers in `bootstrapApplication` or add
`schedulingMode: NgZoneSchedulingMode.NgZoneOnly` to the
`BootstrapOptions` of `bootstrapModule`.
- When Angular runs change detection, it will continue to
refresh any views attached to `ApplicationRef` that are still marked for
check after one round completes. In rare cases, this can result in infinite
loops when certain patterns continue to mark views for check using
`ChangeDetectorRef.detectChanges`. This will be surfaced as a runtime
error with the `NG0103` code.
- `async` has been removed, use `waitForAsync` instead.
- The `ComponentFixture.autoDetect` feature now executes
change detection for the fixture within `ApplicationRef.tick`. This more
closely matches the behavior of how a component would refresh in
production. The order of component refresh in tests may be slightly
affected as a result, especially when dealing with additional components
attached to the application, such as dialogs. Tests sensitive to this
type of change (such as screenshot tests) may need to be updated.
Concretely, this change means that the component will refresh *before*
additional views attached to `ApplicationRef` (i.e. dialog components).
Prior to this change, the fixture component would refresh *after* other
views attached to the application.
- The exact timing of change detection execution when
using event or run coalescing with `NgZone` is now the first of either
`setTimeout` or `requestAnimationFrame`. Code which relies on this
timing (usually by accident) will need to be adjusted. If a callback
needs to execute after change detection, we recommend `afterNextRender`
instead of something like `setTimeout`.
- Newly created and views marked for check and reattached
during change detection are now guaranteed to be refreshed in that same
change detection cycle. Previously, if they were attached at a location
in the view tree that was already checked, they would either throw
`ExpressionChangedAfterItHasBeenCheckedError` or not be refreshed until
some future round of change detection. In rare circumstances, this
correction can cause issues. We identified one instance that relied on
the previous behavior by reading a value on initialization which was
queued to be updated in a microtask instead of being available in the
current change detection round. The component only read this value during
initialization and did not read it again after the microtask updated it.
- Testability methods `increasePendingRequestCount`,
`decreasePendingRequestCount` and `getPendingRequestCount` have been
removed. This information is tracked with zones.
##### http
- By default we now prevent caching of HTTP requests that require authorization . To opt-out from this behaviour use the `includeRequestsWithAuthHeaders` option in `withHttpTransferCache`.
Example:
```ts
withHttpTransferCache({
includeRequestsWithAuthHeaders: true,
})
```
##### platform-browser
- Deprecated `StateKey`, `TransferState` and `makeStateKey` have been removed from `@angular/platform-browser`, use the same APIs from `@angular/core`.
##### platform-browser-dynamic
- No longer used `RESOURCE_CACHE_PROVIDER` APIs have been removed.
##### platform-server
- deprecated `platformDynamicServer` has been removed. Add an `import @angular/compiler` and replace the usage with `platformServer`
- deprecated `ServerTransferStateModule` has been removed. `TransferState` can be use without providing this module.
- deprecated `useAbsoluteUrl` and `baseUrl` been removed from `PlatformConfig`. Provide and absolute `url` instead.
- Legacy handling or Node.js URL parsing has been removed from `ServerPlatformLocation`.
The main differences are;
- `pathname` is always suffixed with a `/`.
- `port` is empty when `http:` protocol and port in url is `80`
- `port` is empty when `https:` protocol and port in url is `443`
##### router
- Guards can now return `RedirectCommand` for redirects
in addition to `UrlTree`. Code which expects only `boolean` or `UrlTree`
values in `Route` types will need to be adjusted.
- This change allows `Route.redirectTo` to be a function
in addition to the previous string. Code which expects `redirectTo` to
only be a string on `Route` objects will need to be adjusted.
- When a a guard returns a `UrlTree` as a redirect, the
redirecting navigation will now use `replaceUrl` if the initial
navigation was also using the `replaceUrl` option. If this is not
desirable, the redirect can configure new `NavigationBehaviorOptions` by
returning a `RedirectCommand` with the desired options instead of `UrlTree`.
- Providers available to the routed components always
come from the injector heirarchy of the routes and never inherit from
the `RouterOutlet`. This means that providers available only to the
component that defines the `RouterOutlet` will no longer be available to
route components in any circumstances. This was already the case
whenever routes defined providers, either through lazy loading an
`NgModule` or through explicit `providers` on the route config.
- Providers available to the routed components always
come from the injector heirarchy of the routes and never inherit from
the `RouterOutlet`. This means that providers available only to the
component that defines the `RouterOutlet` will no longer be available to
route components in any circumstances. This was already the case
whenever routes defined providers, either through lazy loading an
`NgModule` or through explicit `providers` on the route config.
#### Deprecations
##### common
- `getCurrencySymbol`, `getLocaleCurrencyCode`, `getLocaleCurrencyName`, `getLocaleCurrencySymbol`, `getLocaleDateFormat`, `getLocaleDateTimeFormat`, `getLocaleDayNames`, `getLocaleDayPeriods`, `getLocaleDirection`, `getLocaleEraNames`, `getLocaleExtraDayPeriodRules`, `getLocaleExtraDayPeriods`, `getLocaleFirstDayOfWeek`, `getLocaleId`, `getLocaleMonthNames`, `getLocaleNumberFormat`, `getLocaleNu
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
16.0.5
->18.2.10
16.0.5
->18.2.10
16.0.5
->18.2.10
Release Notes
angular/angular (@angular/compiler)
### [`v18.2.10`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#18210-2024-10-30) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.9...18.2.10) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [69dce38e778](https://redirect.github.com/angular/angular/commit/69dce38e778cb4c15aa06347031765a84e3ac6a5) | fix | transform pseudo selectors correctly for the encapsulated view. ([#58417](https://redirect.github.com/angular/angular/pull/58417)) | ##### localize | Commit | Type | Description | | -- | -- | -- | | [3b989ac5bd9](https://redirect.github.com/angular/angular/commit/3b989ac5bd951a3d28bcd0ada150fc81503a016a) | fix | Adding arb format to the list of valid formats in the localization extractor cli ([#58287](https://redirect.github.com/angular/angular/pull/58287)) | ### [`v18.2.9`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1829-2024-10-23) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.8...18.2.9) ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [b0ab653965](https://redirect.github.com/angular/angular/commit/b0ab653965cf88fcfde23fc6a6cc78ce3121a30f) | fix | report when NgModule imports or exports itself ([#58231](https://redirect.github.com/angular/angular/pull/58231)) | ### [`v18.2.8`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1828-2024-10-10) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.7...18.2.8) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [11692c8dab](https://redirect.github.com/angular/angular/commit/11692c8dab2a78dc8780ceed301242d51dee7c9c) | fix | add multiple :host and nested selectors support ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [66dcc691f5](https://redirect.github.com/angular/angular/commit/66dcc691f55eafc9de9a233b9bab53284fc13e1b) | fix | allow combinators inside pseudo selectors ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [48a1437e77](https://redirect.github.com/angular/angular/commit/48a1437e77be5c3b29b8bbcd1b5d7784fbb67e68) | fix | fix comment typo ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [d325f9b55f](https://redirect.github.com/angular/angular/commit/d325f9b55f248e5bd059645be901f210018f8fa2) | fix | fix parsing of the :host-context with pseudo selectors ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [aea747ab3b](https://redirect.github.com/angular/angular/commit/aea747ab3bcbca79dbbc7ddfc41e11b9e43952eb) | fix | preserve attributes attached to :host selector ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [21be258be6](https://redirect.github.com/angular/angular/commit/21be258be687a300ca22daad823e0b931029db35) | fix | scope :host-context inside pseudo selectors, do not decrease specificity ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | | [7a6fd427d5](https://redirect.github.com/angular/angular/commit/7a6fd427d5ad70ad4c50693f54a6e77bf51eea86) | fix | transform pseudo selectors correctly for the encapsulated view ([#57796](https://redirect.github.com/angular/angular/pull/57796)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [f187c3abf8](https://redirect.github.com/angular/angular/commit/f187c3abf8b9547b2692995f344cd7dcb9f32ebc) | fix | defer symbols only used in types ([#58104](https://redirect.github.com/angular/angular/pull/58104)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [46bafb0b0a](https://redirect.github.com/angular/angular/commit/46bafb0b0a952d8e9c2a0099f0607354697bbeaa) | fix | clean up afterRender after it is executed ([#58119](https://redirect.github.com/angular/angular/pull/58119)) | ##### platform-server | Commit | Type | Description | | -- | -- | -- | | [b40875a2cc](https://redirect.github.com/angular/angular/commit/b40875a2cc28a94015e6392044a03b30c2559999) | fix | destroy `PlatformRef` when error happens during the `bootstrap()` phase ([#58112](https://redirect.github.com/angular/angular/pull/58112)) ([#58135](https://redirect.github.com/angular/angular/pull/58135)) | ### [`v18.2.7`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1827-2024-10-02) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.6...18.2.7) ##### common | Commit | Type | Description | | -- | -- | -- | | [249d0260f9](https://redirect.github.com/angular/angular/commit/249d0260f97a2fec8e4daef0b1565ba40b27d370) | fix | execute checks and remove placeholder when image is already loaded ([#55444](https://redirect.github.com/angular/angular/pull/55444)) | | [46a2ad39f5](https://redirect.github.com/angular/angular/commit/46a2ad39f53f6e3b224dfe4b25087c08830713b6) | fix | prevent warning about oversize image twice ([#58021](https://redirect.github.com/angular/angular/pull/58021)) | | [8f2b0ede59](https://redirect.github.com/angular/angular/commit/8f2b0ede5962ad30171843cd7af80c8878b35b53) | fix | skip checking whether SVGs are oversized ([#57966](https://redirect.github.com/angular/angular/pull/57966)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [901c1e1a7f](https://redirect.github.com/angular/angular/commit/901c1e1a7faadee73af4f9e6c37efa778f406ab8) | fix | correctly get the type of nested function call expressions ([#57010](https://redirect.github.com/angular/angular/pull/57010)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [2f347ef8fc](https://redirect.github.com/angular/angular/commit/2f347ef8fcef8645d86047d7a339405c0156aa43) | fix | provide flag to opt into manual cleanup for after render hooks ([#57917](https://redirect.github.com/angular/angular/pull/57917)) | ##### http | Commit | Type | Description | | -- | -- | -- | | [ca637fe6a9](https://redirect.github.com/angular/angular/commit/ca637fe6a95bd020221d71cd0581a3394070cf2c) | fix | cleanup JSONP script listeners once loading completed ([#57877](https://redirect.github.com/angular/angular/pull/57877)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [b9d846dad7](https://redirect.github.com/angular/angular/commit/b9d846dad77832dff44b112ac22951e0f31733ba) | fix | delete constructor if it only has super call ([#58013](https://redirect.github.com/angular/angular/pull/58013)) | ##### upgrade | Commit | Type | Description | | -- | -- | -- | | [e40a4fa3c7](https://redirect.github.com/angular/angular/commit/e40a4fa3c71c9ad76c1546b38ca2e9f74eff7dc0) | fix | support input signal bindings ([#57020](https://redirect.github.com/angular/angular/pull/57020)) | ### [`v18.2.6`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1826-2024-09-25) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.5...18.2.6) ### [`v18.2.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1825-2024-09-18) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.4...18.2.5) ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [e685ed883a](https://redirect.github.com/angular/angular/commit/e685ed883a09628c2b87a11a17ffb6d858d51c54) | fix | extended diagnostics not validating ICUs ([#57845](https://redirect.github.com/angular/angular/pull/57845)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [76709d5d6e](https://redirect.github.com/angular/angular/commit/76709d5d6ec1f83e3f44641704b540636f91b5f4) | fix | Handle `@let` declaration with array when `preparingForHydration` ([#57816](https://redirect.github.com/angular/angular/pull/57816)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [5c866942a1](https://redirect.github.com/angular/angular/commit/5c866942a1b8a60e3a024385048bbb2f52f84513) | fix | account for explicit standalone: false in migration ([#57803](https://redirect.github.com/angular/angular/pull/57803)) | ### [`v18.2.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1824-2024-09-11) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.3...18.2.4) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [b619d6987e](https://redirect.github.com/angular/angular/commit/b619d6987efe054b9b37c24e578f58792b25d146) | fix | produce less noisy errors when parsing control flow ([#57711](https://redirect.github.com/angular/angular/pull/57711)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [9895e4492f](https://redirect.github.com/angular/angular/commit/9895e4492fbe357b584ca5a6dd86d2c9d50d9fda) | fix | replace leftover modules with their exports during pruning ([#57684](https://redirect.github.com/angular/angular/pull/57684)) | ### [`v18.2.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1823-2024-09-04) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.2...18.2.3) ##### http | Commit | Type | Description | | -- | -- | -- | | [de68e049e4](https://redirect.github.com/angular/angular/commit/de68e049e40ab702d9e2b7dd02070de9856377df) | fix | Dynamicaly call the global fetch implementation ([#57531](https://redirect.github.com/angular/angular/pull/57531)) | ### [`v18.2.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1822-2024-08-28) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.1...18.2.2) ##### core | Commit | Type | Description | | -- | -- | -- | | [106917af878](https://redirect.github.com/angular/angular/commit/106917af87868a801d536371511436247ca17382) | fix | avoid leaking memory if component throws during creation ([#57546](https://redirect.github.com/angular/angular/pull/57546)) | | [6d3a2af146a](https://redirect.github.com/angular/angular/commit/6d3a2af146a83f362501f911790503776383369f) | fix | Do not bubble capture events. ([#57476](https://redirect.github.com/angular/angular/pull/57476)) | ##### http | Commit | Type | Description | | -- | -- | -- | | [5d2e243c76a](https://redirect.github.com/angular/angular/commit/5d2e243c76ac55080bce35b9c3704ad9c2e4a932) | fix | Dynamicaly call the global fetch implementation ([#57531](https://redirect.github.com/angular/angular/pull/57531)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [804925b1149](https://redirect.github.com/angular/angular/commit/804925b11492cbcaa586c90958615abe5c525e5f) | fix | Do not unnecessarily run matcher twice on route matching ([#57530](https://redirect.github.com/angular/angular/pull/57530)) | ##### upgrade | Commit | Type | Description | | -- | -- | -- | | [03ec620e31a](https://redirect.github.com/angular/angular/commit/03ec620e31a0335a05013659daaa947010df6778) | fix | Address Trusted Types violations in [@angular/upgrade](https://redirect.github.com/angular/upgrade) ([#57454](https://redirect.github.com/angular/angular/pull/57454)) | ### [`v18.2.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1821-2024-08-22) [Compare Source](https://redirect.github.com/angular/angular/compare/18.2.0...18.2.1) ##### core | Commit | Type | Description | | -- | -- | -- | | [9de30a7b1c](https://redirect.github.com/angular/angular/commit/9de30a7b1cbda5bd85db607266ad533c1aac0a02) | fix | Allow zoneless scheduler to run inside `fakeAsync` ([#56932](https://redirect.github.com/angular/angular/pull/56932)) | | [286012fb89](https://redirect.github.com/angular/angular/commit/286012fb89270bd9330ffeb229f3a14b6e67d2a9) | fix | handle hydration of components that project content conditionally ([#57383](https://redirect.github.com/angular/angular/pull/57383)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [0bb649b8fa](https://redirect.github.com/angular/angular/commit/0bb649b8fa22a0db4f383db29995105b0b4adc81) | fix | account for members with doc strings and no modifiers ([#57389](https://redirect.github.com/angular/angular/pull/57389)) | | [3b63082384](https://redirect.github.com/angular/angular/commit/3b63082384b396514dd836b7763202536f3f4f23) | fix | avoid migrating route component in tests ([#57317](https://redirect.github.com/angular/angular/pull/57317)) | | [6b4357fae4](https://redirect.github.com/angular/angular/commit/6b4357fae45f0c187c8d23649b94a828dd9aaa6e) | fix | preserve type when using inject decorator ([#57389](https://redirect.github.com/angular/angular/pull/57389)) | ### [`v18.2.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1820-2024-08-14) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.5...18.2.0) #### Breaking Changes ##### zone.js - `fakeAsync` will now flush pending timers at the end of the given function by default. To opt-out of this, you can use `{flush: false}` in options parameter of `fakeAsync` ##### compiler | Commit | Type | Description | | -- | -- | -- | | [c8e2885136](https://redirect.github.com/angular/angular/commit/c8e2885136b08981333a336b7b2ba553266eba63) | feat | Add extended diagnostic to warn when there are uncalled functions in event bindings ([#56295](https://redirect.github.com/angular/angular/pull/56295)) ([#56295](https://redirect.github.com/angular/angular/pull/56295)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [98ed5b609e](https://redirect.github.com/angular/angular/commit/98ed5b609e76d3d2b464abfe49d70413c54d3eee) | feat | run JIT transform on classes with `jit: true` opt-out ([#56892](https://redirect.github.com/angular/angular/pull/56892)) | | [c76b440ac0](https://redirect.github.com/angular/angular/commit/c76b440ac007128c53699797811bc586220ccbe9) | fix | add warning for unused let declarations ([#57033](https://redirect.github.com/angular/angular/pull/57033)) | | [0f0a1f2836](https://redirect.github.com/angular/angular/commit/0f0a1f28365cdb2dc6abed5ec75d4f6ba7ff1578) | fix | emitting references to ngtypecheck files ([#57138](https://redirect.github.com/angular/angular/pull/57138)) | | [6c2fbda694](https://redirect.github.com/angular/angular/commit/6c2fbda6942adbc7b21f3dfc1db0a42638223a1a) | fix | extended diagnostic visitor not visiting template attributes ([#57033](https://redirect.github.com/angular/angular/pull/57033)) | | [e11c0c42d2](https://redirect.github.com/angular/angular/commit/e11c0c42d2cbcdf8a5d75a4e24a6a5dbed33943e) | fix | run JIT transforms on `@NgModule` classes with `jit: true` ([#57212](https://redirect.github.com/angular/angular/pull/57212)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [f7918f5272](https://redirect.github.com/angular/angular/commit/f7918f52720d3e903281154725cb257a952e8896) | feat | Add 'flush' parameter option to fakeAsync to flush after the test ([#57239](https://redirect.github.com/angular/angular/pull/57239)) | | [fab673a1dd](https://redirect.github.com/angular/angular/commit/fab673a1ddbca19ff9734f92a5ef0cc16be5708c) | feat | add ng generate schematic to convert to inject ([#57056](https://redirect.github.com/angular/angular/pull/57056)) | | [7919982063](https://redirect.github.com/angular/angular/commit/7919982063e7638ffabe2127d4803bb930c791bc) | feat | Add whenStable helper on ApplicationRef ([#57190](https://redirect.github.com/angular/angular/pull/57190)) | | [3459289ef0](https://redirect.github.com/angular/angular/commit/3459289ef079a80e84bb92e20c25fb6cae18aaf8) | feat | bootstrapModule can configure NgZone in providers ([#57060](https://redirect.github.com/angular/angular/pull/57060)) | | [296216cbe1](https://redirect.github.com/angular/angular/commit/296216cbe1c70822d4b444321d218d57c89621b2) | fix | Allow hybrid CD scheduling to support multiple "Angular zones" ([#57267](https://redirect.github.com/angular/angular/pull/57267)) | | [8718abce90](https://redirect.github.com/angular/angular/commit/8718abce900617275d80ca56141d4e4436481b69) | fix | Deprecate ignoreChangesOutsideZone option ([#57029](https://redirect.github.com/angular/angular/pull/57029)) | | [827070e331](https://redirect.github.com/angular/angular/commit/827070e3314d4c3acee77920dc0d5375398917ab) | fix | Do not run image performance warning checks on server ([#57234](https://redirect.github.com/angular/angular/pull/57234)) | | [ca89ef9141](https://redirect.github.com/angular/angular/commit/ca89ef9141191d56415bdf62354f5125800a4039) | fix | handle shorthand assignment in the inject migration ([#57134](https://redirect.github.com/angular/angular/pull/57134)) | | [5dcdbfcba9](https://redirect.github.com/angular/angular/commit/5dcdbfcba934a930468aec140a7183b034466bdf) | fix | rename the equality function option in toSignal ([#56769](https://redirect.github.com/angular/angular/pull/56769)) | | [2a4f488a6c](https://redirect.github.com/angular/angular/commit/2a4f488a6cb8bdadece70c8aa076c02fae801688) | fix | warnings for oversized images and lazy-lcp present with bootstrapModule ([#57060](https://redirect.github.com/angular/angular/pull/57060)) | ##### language-service | Commit | Type | Description | | -- | -- | -- | | [4bb558ab0c](https://redirect.github.com/angular/angular/commit/4bb558ab0cbf2e5e34816377e977128a177a977a) | feat | support writing code refactorings ([#56895](https://redirect.github.com/angular/angular/pull/56895)) | | [7663debce1](https://redirect.github.com/angular/angular/commit/7663debce1a8411a763a27b7cf8bc5955f8ea2ed) | perf | quick exit if no code fixes can exist ([#57000](https://redirect.github.com/angular/angular/pull/57000)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [147eee4253](https://redirect.github.com/angular/angular/commit/147eee42530b8e7d6a99f37c8eba7a38cbe29522) | feat | add migration to convert standalone component routes to be lazy loaded ([#56428](https://redirect.github.com/angular/angular/pull/56428)) | | [cb442a0ce7](https://redirect.github.com/angular/angular/commit/cb442a0ce7183c7d0e315a58ade75aa09bdaf6dd) | fix | account for parameters with union types ([#57127](https://redirect.github.com/angular/angular/pull/57127)) | | [166166d79e](https://redirect.github.com/angular/angular/commit/166166d79ebe2405989b869f96a04e1dee182666) | fix | add alias to inject migration ([#57127](https://redirect.github.com/angular/angular/pull/57127)) | | [b1a9d0f4de](https://redirect.github.com/angular/angular/commit/b1a9d0f4de75c4b8b837379ae466a393543ed458) | fix | avoid duplicating comments when generating properties ([#57367](https://redirect.github.com/angular/angular/pull/57367)) | | [5d76401ff5](https://redirect.github.com/angular/angular/commit/5d76401ff5e06437e65f4a8a6f44794fdcb088a6) | fix | preserve optional parameters ([#57367](https://redirect.github.com/angular/angular/pull/57367)) | | [1cf616f671](https://redirect.github.com/angular/angular/commit/1cf616f6710d1324e24bc3421a1edc84c8bb1a02) | fix | remove generic arguments from the injected type reference ([#57127](https://redirect.github.com/angular/angular/pull/57127)) | | [ba0df30ef6](https://redirect.github.com/angular/angular/commit/ba0df30ef617df0a8b6b7286f0147f7d1509330e) | fix | remove unused imports in inject migration ([#57179](https://redirect.github.com/angular/angular/pull/57179)) | | [aae9646a1b](https://redirect.github.com/angular/angular/commit/aae9646a1b5a5ce114e624d9c1452d9f4c71b969) | fix | unwrap injected forwardRef ([#57127](https://redirect.github.com/angular/angular/pull/57127)) | | [604270619a](https://redirect.github.com/angular/angular/commit/604270619a21a50f980904c48d87ea5c46aff56d) | perf | speed up signal input migration by combining two analyze phases ([#57318](https://redirect.github.com/angular/angular/pull/57318)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [6c76c91e15](https://redirect.github.com/angular/angular/commit/6c76c91e151b53dfaccb4be43d43a8d857715dd7) | feat | Add defaultQueryParamsHandling to router configuration ([#57198](https://redirect.github.com/angular/angular/pull/57198)) | ### [`v18.1.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1815-2024-08-14) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.4...18.1.5) ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [5401332b0e](https://redirect.github.com/angular/angular/commit/5401332b0ef1ec398a5e9767ca73cec544635c93) | fix | generate valid TS 5.6 type checking code ([#57303](https://redirect.github.com/angular/angular/pull/57303)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [e39b22a932](https://redirect.github.com/angular/angular/commit/e39b22a932384f228e97414c44d10c7e158dfd2f) | fix | Account for addEventListener to be passed a Window or Document. ([#57282](https://redirect.github.com/angular/angular/pull/57282)) | | [db65bc25ca](https://redirect.github.com/angular/angular/commit/db65bc25cab413221fef1c2cdaf7c53f569219c8) | fix | Account for addEventListener to be passed a Window or Document. ([#57354](https://redirect.github.com/angular/angular/pull/57354)) | | [0e024ecc27](https://redirect.github.com/angular/angular/commit/0e024ecc27815c308feef0dbdf36d4d751af4436) | fix | complete post-hydration cleanup in components that use ViewContainerRef ([#57300](https://redirect.github.com/angular/angular/pull/57300)) | | [822db64b93](https://redirect.github.com/angular/angular/commit/822db64b937db8a581ec9612cf9e3e6e149c820f) | fix | skip hydration for i18n nodes that were not projected ([#57356](https://redirect.github.com/angular/angular/pull/57356)) | | [810f76f574](https://redirect.github.com/angular/angular/commit/810f76f57416853d5bc006e57bea070416117e79) | fix | take skip hydration flag into account while hydrating i18n blocks ([#57299](https://redirect.github.com/angular/angular/pull/57299)) | ### [`v18.1.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1814-2024-08-07) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.3...18.1.4) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [6a99f83659](https://redirect.github.com/angular/angular/commit/6a99f836593de35989cddc3db849da133814f8fb) | fix | reduce chance of conflicts between generated factory and local variables ([#57181](https://redirect.github.com/angular/angular/pull/57181)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [afb05ff1cb](https://redirect.github.com/angular/angular/commit/afb05ff1cb008478c98987edfa54ec848ae555d6) | fix | support JIT transforms before other transforms modifying classes ([#57262](https://redirect.github.com/angular/angular/pull/57262)) | | [bae54a1621](https://redirect.github.com/angular/angular/commit/bae54a1621e1c0427519abfa81fc4796c43f1551) | perf | improve performance of `interpolatedSignalNotInvoked` extended diagnostic ([#57291](https://redirect.github.com/angular/angular/pull/57291)) | ##### language-service | Commit | Type | Description | | -- | -- | -- | | [6ac209c24f](https://redirect.github.com/angular/angular/commit/6ac209c24f46a1240b1a186eb403c79ef596d68a) | fix | avoid generating TS suggestion diagnostics for templates ([#56241](https://redirect.github.com/angular/angular/pull/56241)) | ### [`v18.1.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1813-2024-07-31) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.2...18.1.3) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [31dea066d6](https://redirect.github.com/angular/angular/commit/31dea066d636bb49fa18b1172815b1ef7af4dbe5) | fix | reduce chance of conflicts between generated factory and local variables ([#57181](https://redirect.github.com/angular/angular/pull/57181)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [1f9e090910](https://redirect.github.com/angular/angular/commit/1f9e09091076924a2f2c2d4bd6e5f65303bf8fea) | fix | emitting references to ngtypecheck files ([#57138](https://redirect.github.com/angular/angular/pull/57138)) ([#57202](https://redirect.github.com/angular/angular/pull/57202)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [f7ab04018e](https://redirect.github.com/angular/angular/commit/f7ab04018ea0fe12781de987fff40fd1dc30f3f0) | fix | errors during ApplicationRef.tick should be rethrown for zoneless tests ([#56993](https://redirect.github.com/angular/angular/pull/56993)) | | [eaa83f9d27](https://redirect.github.com/angular/angular/commit/eaa83f9d279855b104597d396e39fe3496470daf) | fix | hydration error in some let declaration setups ([#57173](https://redirect.github.com/angular/angular/pull/57173)) | ### [`v18.1.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1812-2024-07-24) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.1...18.1.2) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [463945003d](https://redirect.github.com/angular/angular/commit/463945003dcf253c64809ffdcddabedb87e78e06) | fix | limit the number of chained instructions ([#57069](https://redirect.github.com/angular/angular/pull/57069)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [e904f34020](https://redirect.github.com/angular/angular/commit/e904f3402053ce9098854a31f2652020dd79e8f9) | fix | add warning for unused let declarations ([#57033](https://redirect.github.com/angular/angular/pull/57033)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [9e52c1c840](https://redirect.github.com/angular/angular/commit/9e52c1c8402dd5a54cf73caafff4a5b81d73fabd) | fix | `afterNextRender` hooks return that callback value. ([#57031](https://redirect.github.com/angular/angular/pull/57031)) | | [b9fb98c67c](https://redirect.github.com/angular/angular/commit/b9fb98c67c29d8e5697b72788f09f1263e8130f4) | fix | tree shake dev mode error message ([#57035](https://redirect.github.com/angular/angular/pull/57035)) | ### [`v18.1.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1811-2024-07-17) [Compare Source](https://redirect.github.com/angular/angular/compare/18.1.0...18.1.1) ##### common | Commit | Type | Description | | -- | -- | -- | | [a1cb9dfc0d](https://redirect.github.com/angular/angular/commit/a1cb9dfc0d3539d16020a53dd4c32311240a6265) | fix | Don't run preconnect assertion on the server. ([#56213](https://redirect.github.com/angular/angular/pull/56213)) | ##### compiler | Commit | Type | Description | | -- | -- | -- | | [daf0317bdc](https://redirect.github.com/angular/angular/commit/daf0317bdcef79445eead4a3e0e1be75671f43fb) | fix | JIT mode incorrectly interpreting host directive configuration in partial compilation ([#57002](https://redirect.github.com/angular/angular/pull/57002)) | | [d7dca6dbb6](https://redirect.github.com/angular/angular/commit/d7dca6dbb6d8afc77a988de0b7471ac4e078762e) | fix | use strict equality for 'code' comparison ([#56944](https://redirect.github.com/angular/angular/pull/56944)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [c94a897248](https://redirect.github.com/angular/angular/commit/c94a8972488f62656f5d0368b8763776e2cd39c6) | fix | avoid emitting references to typecheck files in TS 5.4 ([#56961](https://redirect.github.com/angular/angular/pull/56961)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [5682527d94](https://redirect.github.com/angular/angular/commit/5682527d949b078e92ff7588c7e25dad37fffc52) | fix | not all callbacks running when registered at the same time ([#56981](https://redirect.github.com/angular/angular/pull/56981)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [b666d2c20f](https://redirect.github.com/angular/angular/commit/b666d2c20f932f435fa6c51e1d74d7bca53381f2) | fix | fix common module removal ([#56968](https://redirect.github.com/angular/angular/pull/56968)) | ### [`v18.1.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1810-2024-07-10) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.7...18.1.0) ##### common | Commit | Type | Description | | -- | -- | -- | | [f25653e231](https://redirect.github.com/angular/angular/commit/f25653e2311152d30b14d25acb0dccb4e2b5ea56) | fix | typo in NgOptimizedImage warning ([#56756](https://redirect.github.com/angular/angular/pull/56756)) | | [9b35726e42](https://redirect.github.com/angular/angular/commit/9b35726e42ebdeed138a25581e0a7eefff466206) | fix | typo in warning for NgOptimizedDirective ([#56817](https://redirect.github.com/angular/angular/pull/56817)) | ##### compiler | Commit | Type | Description | | -- | -- | -- | | [fd6cd0422d](https://redirect.github.com/angular/angular/commit/fd6cd0422d2d761d2c6cc0cd41838fbba8a3f010) | feat | Add extended diagnostic to warn when there are uncalled functions in event bindings ([#56295](https://redirect.github.com/angular/angular/pull/56295)) | | [341a116d61](https://redirect.github.com/angular/angular/commit/341a116d611c095ed414c82612adb529e7be310c) | fix | allow more characters in let declaration name ([#56764](https://redirect.github.com/angular/angular/pull/56764)) | | [2a1291e942](https://redirect.github.com/angular/angular/commit/2a1291e942a3cd645ee635e72e7d83722383d39b) | fix | give precedence to local let declarations over parent ones ([#56752](https://redirect.github.com/angular/angular/pull/56752)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [66e582551e](https://redirect.github.com/angular/angular/commit/66e582551eb081e422e0df41badce1821c46dc62) | fix | avoid duplicate diagnostics for let declarations read before definition ([#56843](https://redirect.github.com/angular/angular/pull/56843)) | | [4d18c5bfd5](https://redirect.github.com/angular/angular/commit/4d18c5bfd54c53655955c8cd90472081ade40b34) | fix | flag all conflicts between let declarations and local symbols ([#56752](https://redirect.github.com/angular/angular/pull/56752)) | | [9e21582456](https://redirect.github.com/angular/angular/commit/9e215824565f0d30da7edb20087c4460069a6660) | fix | Show template syntax errors in local compilation modified ([#55855](https://redirect.github.com/angular/angular/pull/55855)) | | [5996502921](https://redirect.github.com/angular/angular/commit/599650292107f8856c7cd41791bd0856f9d14eb1) | fix | type check let declarations nested inside nodes ([#56752](https://redirect.github.com/angular/angular/pull/56752)) | | [cdebf751e4](https://redirect.github.com/angular/angular/commit/cdebf751e4949048b01acc92de2517f46fcd5d37) | fix | used before declared diagnostic not firing for control flow blocks ([#56843](https://redirect.github.com/angular/angular/pull/56843)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [ea3c802056](https://redirect.github.com/angular/angular/commit/ea3c80205653af109c688a4d4808143b34591d54) | feat | Add a schematic to migrate afterRender phase flag ([#55648](https://redirect.github.com/angular/angular/pull/55648)) | | [5df3e78c99](https://redirect.github.com/angular/angular/commit/5df3e78c9907f522f2f96c087b10ca12d57f7028) | feat | add equality function to rxjs-interop `toSignal` ([#56447](https://redirect.github.com/angular/angular/pull/56447)) | | [0a48d584f2](https://redirect.github.com/angular/angular/commit/0a48d584f2ffeebb9402032182d4fc13a260c5cf) | feat | add support for let syntax ([#56715](https://redirect.github.com/angular/angular/pull/56715)) | | [352e0782ec](https://redirect.github.com/angular/angular/commit/352e0782ec37d2adcc662cfc69c83d38058a34bf) | feat | expose signal input metadata in `ComponentMirror` ([#56402](https://redirect.github.com/angular/angular/pull/56402)) | | [a655e46447](https://redirect.github.com/angular/angular/commit/a655e46447962bf56bf0184e3104328b9f7c1531) | feat | Redesign the `afterRender` & `afterNextRender` phases API ([#55648](https://redirect.github.com/angular/angular/pull/55648)) | | [e5a6f91722](https://redirect.github.com/angular/angular/commit/e5a6f917225aafa7c5c860f280d2aafe3615727e) | feat | support TypeScript 5.5 ([#56096](https://redirect.github.com/angular/angular/pull/56096)) | | [38effcc63e](https://redirect.github.com/angular/angular/commit/38effcc63eea360e948dc22860add72d3aa02288) | fix | Add back phase flag option as a deprecated API ([#55648](https://redirect.github.com/angular/angular/pull/55648)) | | [86bcfd3e49](https://redirect.github.com/angular/angular/commit/86bcfd3e498b8ec1de1a2a1ad0847fe567f7e9d4) | fix | improve docs on afterRender hooks ([#56522](https://redirect.github.com/angular/angular/pull/56522)) | | [b2445a0953](https://redirect.github.com/angular/angular/commit/b2445a095314aa66da038d3093e6a1b18fe5768b) | fix | link errors to ADEV ([#55554](https://redirect.github.com/angular/angular/pull/55554)) ([#56038](https://redirect.github.com/angular/angular/pull/56038)) | | [03a2acd2a3](https://redirect.github.com/angular/angular/commit/03a2acd2a3bdc87aaeb6b835a7c1016f800b31cb) | fix | properly remove imports in the afterRender phase migration ([#56524](https://redirect.github.com/angular/angular/pull/56524)) | | [4d87b9e899](https://redirect.github.com/angular/angular/commit/4d87b9e899381894a1de90f251da58613a96eed0) | fix | rename the equality function option in toSignal ([#56769](https://redirect.github.com/angular/angular/pull/56769)) ([#56922](https://redirect.github.com/angular/angular/pull/56922)) | | [8bd4c074af](https://redirect.github.com/angular/angular/commit/8bd4c074afe85b739dff4d3c4dcc19384c42b85e) | fix | toSignal equal option should be passed to inner computed ([#56903](https://redirect.github.com/angular/angular/pull/56903)) | ##### forms | Commit | Type | Description | | -- | -- | -- | | [00bde8b1c2](https://redirect.github.com/angular/angular/commit/00bde8b1c2d1511da40526a374d4e94d31e0d575) | fix | Make `NgControlStatus` host bindings `OnPush` compatible ([#55720](https://redirect.github.com/angular/angular/pull/55720)) | ##### http | Commit | Type | Description | | -- | -- | -- | | [cc21989132](https://redirect.github.com/angular/angular/commit/cc21989132bc64b981df83cb6ff6e1506b42a1d0) | fix | Make `Content-Type` header case insensitive ([#56541](https://redirect.github.com/angular/angular/pull/56541)) | ##### language-service | Commit | Type | Description | | -- | -- | -- | | [b400e2e4d4](https://redirect.github.com/angular/angular/commit/b400e2e4d4c27a9c8d8e91b52852ef7b64f7591a) | feat | autocompletion for the component not imported ([#55595](https://redirect.github.com/angular/angular/pull/55595)) | | [67b2c336bc](https://redirect.github.com/angular/angular/commit/67b2c336bc0bdce3f7ae054c094990a9831f5b20) | fix | import the default exported component correctly ([#56432](https://redirect.github.com/angular/angular/pull/56432)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [a13f5da773](https://redirect.github.com/angular/angular/commit/a13f5da77303f4ab2f1543df1de1f416216b5a9c) | feat | Allow `UrlTree` as an input to `routerLink` ([#56265](https://redirect.github.com/angular/angular/pull/56265)) | | [1d3a7529b4](https://redirect.github.com/angular/angular/commit/1d3a7529b4fa3617a5d6a97e742cb13818253a14) | feat | Set a different browser URL from the one for route matching ([#53318](https://redirect.github.com/angular/angular/pull/53318)) | ### [`v18.0.7`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1807-2024-07-10) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.6...18.0.7) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [85f77b5cda](https://redirect.github.com/angular/angular/commit/85f77b5cda26cefa322e232b4336ae965279f72b) | fix | fix CSS animation rule scope ([#56800](https://redirect.github.com/angular/angular/pull/56800)) | ##### http | Commit | Type | Description | | -- | -- | -- | | [95d7076d1a](https://redirect.github.com/angular/angular/commit/95d7076d1a8c3d0d9544ca7091e78af11cd963b6) | perf | execute `fetch` outside of Angular zone ([#56820](https://redirect.github.com/angular/angular/pull/56820)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [d6fff45e73](https://redirect.github.com/angular/angular/commit/d6fff45e735044612795ae37cf62968bdb0758dd) | fix | Fix cf migration let condition semicolon order ([#56913](https://redirect.github.com/angular/angular/pull/56913)) | ### [`v18.0.6`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1806-2024-07-03) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.5...18.0.6) ##### common | Commit | Type | Description | | -- | -- | -- | | [a55719f55e](https://redirect.github.com/angular/angular/commit/a55719f55eb9b75799dfe41bb56cacdd85b4bd9f) | fix | Don't run preconnect assertion on the server. ([#56213](https://redirect.github.com/angular/angular/pull/56213)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [4909844805](https://redirect.github.com/angular/angular/commit/4909844805635d62535bcb247ef1ca65927c6a3d) | fix | establish proper defer injector hierarchy for components attached to ApplicationRef ([#56763](https://redirect.github.com/angular/angular/pull/56763)) | | [fec5b80aaf](https://redirect.github.com/angular/angular/commit/fec5b80aaff402bb62bd21d7e8c4182d2484a97f) | fix | support injection of object with null constructor. ([#56553](https://redirect.github.com/angular/angular/pull/56553)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [b7d3ecc873](https://redirect.github.com/angular/angular/commit/b7d3ecc873b2cafe45ffa1bbfc8cfeda4b4c9e6b) | fix | routes should not get stale providers ([#56798](https://redirect.github.com/angular/angular/pull/56798)) | ### [`v18.0.5`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1805-2024-06-26) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.4...18.0.5) ##### core | Commit | Type | Description | | -- | -- | -- | | [2f73281dfd](https://redirect.github.com/angular/angular/commit/2f73281dfd97fd254179770cbdbda5236f5f37fd) | fix | improve docs on afterRender hooks ([#56525](https://redirect.github.com/angular/angular/pull/56525)) | | [be9e4892f9](https://redirect.github.com/angular/angular/commit/be9e4892f9d2e3dbc772b732a130f97d67cba965) | fix | improve support for i18n hydration of projected content ([#56192](https://redirect.github.com/angular/angular/pull/56192)) | | [5f9bd5521e](https://redirect.github.com/angular/angular/commit/5f9bd5521eaadb4106c43eb2f8e7ac25777e9ea6) | fix | prevent calling devMode only function on `@defer` error. ([#56559](https://redirect.github.com/angular/angular/pull/56559)) | ### [`v18.0.4`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1804-2024-06-20) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.3...18.0.4) ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [ec0d1bf6f3](https://redirect.github.com/angular/angular/commit/ec0d1bf6f337fc4f2c29cacaa6ca5b915eb4e561) | fix | insert constant statements after the first group of imports ([#56431](https://redirect.github.com/angular/angular/pull/56431)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [83ffa94783](https://redirect.github.com/angular/angular/commit/83ffa9478372db3e5dd2d256d266a5612008da0a) | fix | do not activate event replay when no events are registered ([#56509](https://redirect.github.com/angular/angular/pull/56509)) | ##### router | Commit | Type | Description | | -- | -- | -- | | [5578681da2](https://redirect.github.com/angular/angular/commit/5578681da27345b0c8260eb5d73e702d19581abd) | fix | Delay the view transition to ensure renders in microtasks complete ([#56494](https://redirect.github.com/angular/angular/pull/56494)) | ### [`v18.0.3`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1803-2024-06-12) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.2...18.0.3) ##### benchpress | Commit | Type | Description | | -- | -- | -- | | [ebf00aa0659](https://redirect.github.com/angular/angular/commit/ebf00aa06592a966b72c81ff4ca09c6ef1344a20) | fix | adjust supported browser names for headless chrome ([#56360](https://redirect.github.com/angular/angular/pull/56360)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [dbd0fa00f8c](https://redirect.github.com/angular/angular/commit/dbd0fa00f8c742a9b804ce2a96a0add552a179dd) | fix | async EventEmitter should contribute to app stability ([#56308](https://redirect.github.com/angular/angular/pull/56308)) | | [625ca3e2b3f](https://redirect.github.com/angular/angular/commit/625ca3e2b3f04fb770ecbef03a9a4151c54e201b) | fix | signals should be tracked when embeddedViewRef.detectChanges is called ([#55719](https://redirect.github.com/angular/angular/pull/55719)) | ##### localize | Commit | Type | Description | | -- | -- | -- | | [d6dd3dbdb09](https://redirect.github.com/angular/angular/commit/d6dd3dbdb09da956a7c7c95187ae29347568b2e9) | fix | add `@angular/localize/init` as polyfill in `angular.json` ([#56300](https://redirect.github.com/angular/angular/pull/56300)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [c07e1b33569](https://redirect.github.com/angular/angular/commit/c07e1b335695ce8e5402e7d7ad7810ccd472b224) | fix | resolve error in standalone migration ([#56302](https://redirect.github.com/angular/angular/pull/56302)) | ### [`v18.0.2`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1802-2024-06-05) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.1...18.0.2) ##### core | Commit | Type | Description | | -- | -- | -- | | [78cf9bfc0e](https://redirect.github.com/angular/angular/commit/78cf9bfc0eb1e78c1f6d3a562e65982579698896) | fix | Do not migrate `HttpClientModule` imports on components. ([#56067](https://redirect.github.com/angular/angular/pull/56067)) | | [616cdef474](https://redirect.github.com/angular/angular/commit/616cdef4748d5112460cf58200832585856777d6) | fix | don't coerce all producers to consumers on liveness change ([#56140](https://redirect.github.com/angular/angular/pull/56140)) | | [2a440e1064](https://redirect.github.com/angular/angular/commit/2a440e1064bddc839df91dbe77fc27bb8bd15641) | fix | Fix shouldPreventDefaultBeforeDispatching bug ([#56188](https://redirect.github.com/angular/angular/pull/56188)) | | [290a47d842](https://redirect.github.com/angular/angular/commit/290a47d8427f4854234cb2b4244871eaf1f82c19) | fix | handle missing `withI18nSupport()` call for components that use i18n blocks ([#56175](https://redirect.github.com/angular/angular/pull/56175)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [b70b80ba55](https://redirect.github.com/angular/angular/commit/b70b80ba55ff16a5dd10e07c7120b0d3aecd5d2d) | fix | do not generate aliased variables with the same name ([#56154](https://redirect.github.com/angular/angular/pull/56154)) | ### [`v18.0.1`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1801-2024-05-29) [Compare Source](https://redirect.github.com/angular/angular/compare/18.0.0...18.0.1) ##### compiler | Commit | Type | Description | | -- | -- | -- | | [419ffa2026](https://redirect.github.com/angular/angular/commit/419ffa20265e4b9b5b1d92045ec40f59f5c4de2e) | fix | optimize track function that only passes $index ([#55872](https://redirect.github.com/angular/angular/pull/55872)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [4c7efc005a](https://redirect.github.com/angular/angular/commit/4c7efc005a8d0d343f437007740254b1d35c718b) | fix | interpolatedSignalNotInvoked diagnostic for class, style, attribute and animation bindings ([#55969](https://redirect.github.com/angular/angular/pull/55969)) | ##### core | Commit | Type | Description | | -- | -- | -- | | [4e6ea0e19c](https://redirect.github.com/angular/angular/commit/4e6ea0e19c52c9aceb635accb379572c78a457da) | fix | handle elements with local refs in event replay serialization logic ([#56076](https://redirect.github.com/angular/angular/pull/56076)) | | [d73a0175cb](https://redirect.github.com/angular/angular/commit/d73a0175cb2d8c74e6bb877dc30eec07fd484fff) | fix | link errors to ADEV ([#55554](https://redirect.github.com/angular/angular/pull/55554)) | | [985a215b10](https://redirect.github.com/angular/angular/commit/985a215b102be2a58dd4d13e1c05399f58f3078e) | fix | typo in zoneless warning ([#55974](https://redirect.github.com/angular/angular/pull/55974)) | ##### migrations | Commit | Type | Description | | -- | -- | -- | | [ba85d08158](https://redirect.github.com/angular/angular/commit/ba85d081583277a5b7a04bc349a3a8d528467c52) | fix | handle empty ngSwitchCase ([#56105](https://redirect.github.com/angular/angular/pull/56105)) | ### [`v18.0.0`](https://redirect.github.com/angular/angular/blob/HEAD/CHANGELOG.md#1800-2024-05-22) [Compare Source](https://redirect.github.com/angular/angular/compare/17.3.12...18.0.0) [Blog post "Angular v18 is now available"](http://goo.gle/angular-v18). #### Breaking Changes ##### animations - Deprecated `matchesElement` method has been removed from `AnimationDriver` as it is unused. ##### common - The deprecated `isPlatformWorkerUi` and `isPlatformWorkerApp` have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform. ##### compiler - Angular only supports writable expressions inside of two-way bindings. ##### compiler-cli - - Angular no longer supports TypeScript versions older than 5.4. ##### core - `OnPush` views at the root of the application need to be marked dirty for their host bindings to refresh. Previously, the host bindings were refreshed for all root views without respecting the `OnPush` change detection strategy. - `OnPush` views at the root of the application need to be marked dirty for their host bindings to refresh. Previously, the host bindings were refreshed for all root views without respecting the `OnPush` change detection strategy. - The `ComponentFixture` `autoDetect` feature will no longer refresh the component's host view when the component is `OnPush` and not marked dirty. This exposes existing issues in components which claim to be `OnPush` but do not correctly call `markForCheck` when they need to be refreshed. If this change causes test failures, the easiest fix is to change the component to `ChangeDetectionStrategy.Default`. - `ComponentFixture.whenStable` now matches the `ApplicationRef.isStable` observable. Prior to this change, stability of the fixture did not include everything that was considered in `ApplicationRef`. `whenStable` of the fixture will now include unfinished router navigations and unfinished `HttpClient` requests. This will cause tests that `await` the `whenStable` promise to time out when there are incomplete requests. To fix this, remove the `whenStable`, instead wait for another condition, or ensure `HttpTestingController` mocks responses for all requests. Try adding `HttpTestingController.verify()` before your `await fixture.whenStable` to identify the open requests. Also, make sure your tests wait for the stability promise. We found many examples of tests that did not, meaning the expectations did not execute within the test body. In addition, `ComponentFixture.isStable` would synchronously switch to true in some scenarios but will now always be asynchronous. - Angular will ensure change detection runs, even when the state update originates from outside the zone, tests may observe additional rounds of change detection compared to the previous behavior. This change will be more likely to impact existing unit tests. This should usually be seen as more correct and the test should be updated, but in cases where it is too much effort to debug, the test can revert to the old behavior by adding `provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})` to the `TestBed` providers. Similarly, applications which may want to update state outside the zone and *not* trigger change detection can add `provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly})` to the providers in `bootstrapApplication` or add `schedulingMode: NgZoneSchedulingMode.NgZoneOnly` to the `BootstrapOptions` of `bootstrapModule`. - When Angular runs change detection, it will continue to refresh any views attached to `ApplicationRef` that are still marked for check after one round completes. In rare cases, this can result in infinite loops when certain patterns continue to mark views for check using `ChangeDetectorRef.detectChanges`. This will be surfaced as a runtime error with the `NG0103` code. - `async` has been removed, use `waitForAsync` instead. - The `ComponentFixture.autoDetect` feature now executes change detection for the fixture within `ApplicationRef.tick`. This more closely matches the behavior of how a component would refresh in production. The order of component refresh in tests may be slightly affected as a result, especially when dealing with additional components attached to the application, such as dialogs. Tests sensitive to this type of change (such as screenshot tests) may need to be updated. Concretely, this change means that the component will refresh *before* additional views attached to `ApplicationRef` (i.e. dialog components). Prior to this change, the fixture component would refresh *after* other views attached to the application. - The exact timing of change detection execution when using event or run coalescing with `NgZone` is now the first of either `setTimeout` or `requestAnimationFrame`. Code which relies on this timing (usually by accident) will need to be adjusted. If a callback needs to execute after change detection, we recommend `afterNextRender` instead of something like `setTimeout`. - Newly created and views marked for check and reattached during change detection are now guaranteed to be refreshed in that same change detection cycle. Previously, if they were attached at a location in the view tree that was already checked, they would either throw `ExpressionChangedAfterItHasBeenCheckedError` or not be refreshed until some future round of change detection. In rare circumstances, this correction can cause issues. We identified one instance that relied on the previous behavior by reading a value on initialization which was queued to be updated in a microtask instead of being available in the current change detection round. The component only read this value during initialization and did not read it again after the microtask updated it. - Testability methods `increasePendingRequestCount`, `decreasePendingRequestCount` and `getPendingRequestCount` have been removed. This information is tracked with zones. ##### http - By default we now prevent caching of HTTP requests that require authorization . To opt-out from this behaviour use the `includeRequestsWithAuthHeaders` option in `withHttpTransferCache`. Example: ```ts withHttpTransferCache({ includeRequestsWithAuthHeaders: true, }) ``` ##### platform-browser - Deprecated `StateKey`, `TransferState` and `makeStateKey` have been removed from `@angular/platform-browser`, use the same APIs from `@angular/core`. ##### platform-browser-dynamic - No longer used `RESOURCE_CACHE_PROVIDER` APIs have been removed. ##### platform-server - deprecated `platformDynamicServer` has been removed. Add an `import @angular/compiler` and replace the usage with `platformServer` - deprecated `ServerTransferStateModule` has been removed. `TransferState` can be use without providing this module. - deprecated `useAbsoluteUrl` and `baseUrl` been removed from `PlatformConfig`. Provide and absolute `url` instead. - Legacy handling or Node.js URL parsing has been removed from `ServerPlatformLocation`. The main differences are; - `pathname` is always suffixed with a `/`. - `port` is empty when `http:` protocol and port in url is `80` - `port` is empty when `https:` protocol and port in url is `443` ##### router - Guards can now return `RedirectCommand` for redirects in addition to `UrlTree`. Code which expects only `boolean` or `UrlTree` values in `Route` types will need to be adjusted. - This change allows `Route.redirectTo` to be a function in addition to the previous string. Code which expects `redirectTo` to only be a string on `Route` objects will need to be adjusted. - When a a guard returns a `UrlTree` as a redirect, the redirecting navigation will now use `replaceUrl` if the initial navigation was also using the `replaceUrl` option. If this is not desirable, the redirect can configure new `NavigationBehaviorOptions` by returning a `RedirectCommand` with the desired options instead of `UrlTree`. - Providers available to the routed components always come from the injector heirarchy of the routes and never inherit from the `RouterOutlet`. This means that providers available only to the component that defines the `RouterOutlet` will no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading an `NgModule` or through explicit `providers` on the route config. - Providers available to the routed components always come from the injector heirarchy of the routes and never inherit from the `RouterOutlet`. This means that providers available only to the component that defines the `RouterOutlet` will no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading an `NgModule` or through explicit `providers` on the route config. #### Deprecations ##### common - `getCurrencySymbol`, `getLocaleCurrencyCode`, `getLocaleCurrencyName`, `getLocaleCurrencySymbol`, `getLocaleDateFormat`, `getLocaleDateTimeFormat`, `getLocaleDayNames`, `getLocaleDayPeriods`, `getLocaleDirection`, `getLocaleEraNames`, `getLocaleExtraDayPeriodRules`, `getLocaleExtraDayPeriods`, `getLocaleFirstDayOfWeek`, `getLocaleId`, `getLocaleMonthNames`, `getLocaleNumberFormat`, `getLocaleNuConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.