Angular - the core framework
Last release today
27 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
10 years old
1101 releases · first in 2016
Release timeline
1101 releases since 2016Releases
- 18.0.022 May 2024
Release notes
Open source →Blog post "Angular v18 is now available".
Breaking Changes
animations
- Deprecated
matchesElementmethod has been removed fromAnimationDriveras it is unused.
common
- The deprecated
isPlatformWorkerUiandisPlatformWorkerApphave 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
-
OnPushviews 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 theOnPushchange detection strategy. -
The
ComponentFixtureautoDetectfeature will no longer refresh the component's host view when the component isOnPushand not marked dirty. This exposes existing issues in components which claim to beOnPushbut do not correctly callmarkForCheckwhen they need to be refreshed. If this change causes test failures, the easiest fix is to change the component toChangeDetectionStrategy.Default. -
ComponentFixture.whenStablenow matches theApplicationRef.isStableobservable. Prior to this change, stability of the fixture did not include everything that was considered inApplicationRef.whenStableof the fixture will now include unfinished router navigations and unfinishedHttpClientrequests. This will cause tests thatawaitthewhenStablepromise to time out when there are incomplete requests. To fix this, remove thewhenStable, instead wait for another condition, or ensureHttpTestingControllermocks responses for all requests. Try addingHttpTestingController.verify()before yourawait fixture.whenStableto 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.isStablewould 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 theTestBedproviders.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 inbootstrapApplicationor addschedulingMode: NgZoneSchedulingMode.NgZoneOnlyto theBootstrapOptionsofbootstrapModule. -
When Angular runs change detection, it will continue to refresh any views attached to
ApplicationRefthat 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 usingChangeDetectorRef.detectChanges. This will be surfaced as a runtime error with theNG0103code. -
asynchas been removed, usewaitForAsyncinstead. -
The
ComponentFixture.autoDetectfeature now executes change detection for the fixture withinApplicationRef.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 toApplicationRef(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
NgZoneis now the first of eithersetTimeoutorrequestAnimationFrame. Code which relies on this timing (usually by accident) will need to be adjusted. If a callback needs to execute after change detection, we recommendafterNextRenderinstead of something likesetTimeout. -
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
ExpressionChangedAfterItHasBeenCheckedErroror 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,decreasePendingRequestCountandgetPendingRequestCounthave 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
includeRequestsWithAuthHeadersoption inwithHttpTransferCache.Example:
withHttpTransferCache({ includeRequestsWithAuthHeaders: true, })
platform-browser
- Deprecated
StateKey,TransferStateandmakeStateKeyhave been removed from@angular/platform-browser, use the same APIs from@angular/core.
platform-browser-dynamic
- No longer used
RESOURCE_CACHE_PROVIDERAPIs have been removed.
platform-server
-
deprecated
platformDynamicServerhas been removed. Add animport @angular/compilerand replace the usage withplatformServer -
deprecated
ServerTransferStateModulehas been removed.TransferStatecan be use without providing this module. -
deprecated
useAbsoluteUrlandbaseUrlbeen removed fromPlatformConfig. Provide and absoluteurlinstead. -
Legacy handling or Node.js URL parsing has been removed from
ServerPlatformLocation.The main differences are;
pathnameis always suffixed with a/.portis empty whenhttp:protocol and port in url is80portis empty whenhttps:protocol and port in url is443
router
- Guards can now return
RedirectCommandfor redirects in addition toUrlTree. Code which expects onlybooleanorUrlTreevalues inRoutetypes will need to be adjusted. - This change allows
Route.redirectToto be a function in addition to the previous string. Code which expectsredirectToto only be a string onRouteobjects will need to be adjusted. - When a a guard returns a
UrlTreeas a redirect, the redirecting navigation will now usereplaceUrlif the initial navigation was also using thereplaceUrloption. If this is not desirable, the redirect can configure newNavigationBehaviorOptionsby returning aRedirectCommandwith the desired options instead ofUrlTree. - 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 theRouterOutletwill no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading anNgModuleor through explicitproviderson 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 theRouterOutletwill no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading anNgModuleor through explicitproviderson the route config.
Deprecations
common
getCurrencySymbol,getLocaleCurrencyCode,getLocaleCurrencyName,getLocaleCurrencySymbol,getLocaleDateFormat,getLocaleDateTimeFormat,getLocaleDayNames,getLocaleDayPeriods,getLocaleDirection,getLocaleEraNames,getLocaleExtraDayPeriodRules,getLocaleExtraDayPeriods,getLocaleFirstDayOfWeek,getLocaleId,getLocaleMonthNames,getLocaleNumberFormat,getLocaleNumberSymbol,getLocalePluralCase,getLocaleTimeFormat,getLocaleWeekEndRange,getNumberOfCurrencyDigits
core
@Component.interpolationis deprecated. Use Angular's delimiters instead.
http
-
HttpClientModule,HttpClientXsrfModuleandHttpClientJsonpModuleAs mentionned, those modules can be replaced by provider function only.
animations
Commit Type Description bcce85af72 refactor remove deprecated matchesElementfromAnimationDriver(#55479)common
Commit Type Description d34c033902 refactor Deprecate Local Data API functions (#54483) 3b0de30b37 refactor remove deprecated isPlatformWorkerAppandisPlatformWorkerUiAPI (#55302)compiler
Commit Type Description 91b007e58f fix add math elements to schema (#55631) 33d0102304 fix allow comments between connected blocks (#55966) 7fc7f3f05f fix capture all control flow branches for content projection in if blocks (#54921) a369f43fbd fix capture switch block cases for content projection (#54921) eb625d3783 fix declare for loop aliases in addition to new name (#54942) f824911510 fix For FatalDiagnosticError, hide themessagefield without affecting the emit (#55160)a040fb720a fix maintain multiline CSS selectors during CSS scoping (#55509) 39624c6b12 fix output input flags as a literal (#55215) eba92cfa55 fix prevent usage of reserved control flow symbol in custom interpolation context. (#55809) 7d5bc1c628 fix remove container index from conditional instruction (#55190) 4eb0165750 fix remove support for unassignable expressions in two-way bindings (#55342) e1650e3b13 fix throw error if item name and context variables conflict (#55045) compiler-cli
Commit Type Description 5bd188a394 feat add partial compilation support for deferred blocks (#54908) b02b31a915 feat drop support for TypeScript older than 5.4 (#54961) 78188e877a fix add diagnostic if initializer API is used outside of an initializer (#54993) 69a83993b3 fix do not throw when retrieving TCB symbol for signal input with restricted access (#55774) 4f4f41016e fix dom property binding check in signal extended diagnostic (#54324) 7a16d7e969 fix don't type check the bodies of control flow nodes in basic mode (#55360) 8d93597a82 fix fix type narrowing of @ifwith aliases (#55835)9b424d7224 fix preserve original reference to non-deferrable dependency (#54759) 694ba79cbf fix report cases where initializer APIs are used in a non-directive class (#54993) 6219341d26 fix report errors when initializer APIs are used on private fields (#54981) c04ffb1fa6 fix use switch statements to narrow Angular switch blocks (#55168) core
Commit Type Description a730f09ae9 feat Add a public API to establish events to be replayed and an attribute to mark an element with an event handler. (#55356) fdd560ea14 feat Add ability to configure zone change detection to use zoneless scheduler (#55252) bce5e2344f feat Add build target for jsaction contract binary. (#55319) 666d646575 feat Add event delegation library to queue up events and replay them when the application is ready (#55121) 5f06ca8f55 feat add HOST_TAG_NAME token (#54751) a600a39d0c feat add support for fallback content in ng-content (#54854) 146306a141 feat add support for i18n hydration (#54823) f09c5a7bc4 feat Add zoneless change detection provider as experimental (#55329) d28614b90e feat Modify EventType from an enum to an object. (#55323) ac863ded48 feat provide ExperimentalPendingTasks API (#55487) 1ee9f32621 feat Synchronize changes from internal JSAction codebase. (#55182) d888da4606 fix ApplicationRef.tickshould respect OnPush for host bindings (#53718)64f870c12b fix ApplicationRef.tickshould respect OnPush for host bindings (#53718) (#53718)8cad4e8cbe fix ComponentFixtureautoDetectrespectsOnPushflag of host view (#54824)658cf8c384 fix ComponentFixturestability should matchApplicationRef(#54949)2fc11eae9e fix account for re-projected ng-content elements with fallback content (#54854) 0cbd73c6e9 fix add warning when using zoneless but zone.js is still loaded (#55769) d5edfde6ee fix afterRender hooks registered outside change detection can mark views dirty (#55623) de7447d15e fix Angular should not ignore changes that happen outside the zone (#55102) ba8e465974 fix Change Detection will continue to refresh views while marked for check (#54734) 5a10f405d3 fix complete the removal of deprecation asyncfunction (#55491)24bc0ed4f2 fix ComponentFixture autodetect should detect changes within ApplicationRef.tick (#54733) 1c0ec56c46 fix correctly project single-root content inside control flow (#54921) 840c375255 fix do not save point-in-time setTimeoutandrAFreferences (#55124)10c5cdb49c fix ensure change detection runs in a reasonable timeframe with zone coalescing (#54578) ad045efd4b fix Ensure views marked for check are refreshed during change detection (#54735) 69085ea26e fix error about provideExperimentalCheckNoChangesForDebug uses wrong name (#55824) 0147e0b85a fix exhaustive checkNoChanges should only do a single pass (#55839) e02bcf89cf fix Fix clearing of pending task in zoneless cleanup implementation (#55074) 0cec9e4f9a fix Fix null dereference error addEvent(#55353)44c0ed83a6 fix hide implementation details of ExperimentalPendingTasks (#55516) 314112de99 fix Prevent markForCheckduring change detection from causing infinite loops (#54900)a5fa279b6e fix prevent i18n hydration from cleaning projected nodes (#54823) 6534c035c0 fix Remove deprecated Testability methods (#53768) a5c57c7484 fix resolve error for multiple component instances that use fallback content (#55478) f44a5e4604 fix support content projection and VCRs in i18n (#54823) 0510930a25 fix TestBed should not override NgZone from initTestEnvironment (#55226) e9a0c86766 fix TestBed should not override NgZone from initTestEnvironment (#55226) 700c0520bb fix Update ApplicationRef.tick loop to only throw in dev mode (#54848) a99cb7ce5b fix zoneless scheduler should check if Zone is defined before accessing it (#55118) 1fd63e9cff refactor deprecate @Component.interpolation(#55778)forms
Commit Type Description 1c736dc3b2 feat Unified Control State Change Events (#54579) 61007dced0 fix Add event for forms submitted & reset (#55667) 2e27ca9ddf fix Allow canceled async validators to emit. (#55134) http
Commit Type Description 6f88d80758 feat allow caching requests with different origins between server and client (#55274) 8eacb6e4b9 feat exclude caching for authenticated HTTP requests (#55034) d9b339fdbc fix resolve withRequestsMadeViaParentbehavior withwithFetch(#55652)ef665a40a5 refactor Deprecate HttpClientModule& related modules (#54020)language-service
Commit Type Description 6d1b82df32 fix allow external projects to use provided compiler options (#55035) a48afe0d94 fix avoid generating TS syntactic diagnostics for templates (#55091) bd236cc150 fix implement getDefinitionAtPosition for Angular templates (#55269) 4166dfc1b6 fix prevent underlying TS Service from handling template files (#55003) b7f2fd4739 fix use type-only import in plugin factory (#55996) migrations
Commit Type Description f914f6a362 feat Migration schematics for HttpClientModule(#54020)8459ee46cb fix handle more cases in HttpClientModule migration (#55640) c4b2f18709 fix migrate HttpClientTestingModule in test modules (#55803) bb4a4016a9 fix preserve existing properties in HttpClientModule migration (#55777) f93e5180be fix resolve multiple structural issues with HttpClient migration (#55557) platform-browser
Commit Type Description 45ae7a6b60 feat add withI18nSupport() in developer preview (#55130) 23f914f101 fix Use the right namespace for mathML. (#55622) cba336d4f1 refactor remove deprecated transfer state APIs (#55474) platform-browser-dynamic
Commit Type Description eb20c1a8b1 refactor unused RESOURCE_CACHE_PROVIDERAPI has been removed (#54875)platform-server
Commit Type Description 5674c644ab fix add nonceattribute to event record script (#55495)e71e869112 fix remove event dispatch script from HTML when hydration is disabled (#55681) 07ac017731 refactor remove deprecated platformDynamicServerAPI (#54874)e8b588d8b7 refactor remove deprecated ServerTransferStateModuleAPI (#54874)3b1967ca64 refactor remove deprecated useAbsoluteUrlandbaseUrlfromPlatformConfig(#54874)2357d3566c refactor remove legacy URL handling logic (#54874) router
Commit Type Description 4a42961393 feat withNavigationErrorHandlercan convert errors to redirects (#55370)8735af08b9 feat Add ability to return UrlTreewithNavigationBehaviorOptionsfrom guards (#45023)87f3f27f90 feat Allow resolvers to return RedirectCommand(#54556)2b802587f2 feat Allow Route.redirectTo to be a function which returns a string or UrlTree (#52606) 60f1d681e0 fix preserve replaceUrl when returning a urlTree from CanActivate (#54042) 3839cfbb18 fix Routed components never inherit RouterOutletEnvironmentInjector(#54265)da906fdafc fix Routed components never inherit RouterOutletEnvironmentInjector(#54265)service-worker
Commit Type Description 3bc63eaaf3 fix avoid running CDs on controllerchange(#54222)e598634c10 fix remove controllerchangelistener when app is destroyed (#55365)<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.9"></a>
- Deprecated
- 18.0.0-rc.321 May 2024pre-release
Nothing published for this version
- 18.0.0-rc.215 May 2024pre-release
Nothing published for this version
- 18.0.0-rc.18 May 2024pre-release
Nothing published for this version
- 18.0.0-rc.01 May 2024pre-release
Nothing published for this version
- 18.0.0-next.625 Apr 2024pre-release
Nothing published for this version
- 18.0.0-next.517 Apr 2024pre-release
Nothing published for this version
- 18.0.0-next.410 Apr 2024pre-release
Nothing published for this version
- 18.0.0-next.33 Apr 2024pre-release
Nothing published for this version
- 18.0.0-next.228 Mar 2024pre-release
Nothing published for this version
- 18.0.0-next.120 Mar 2024pre-release
Nothing published for this version
- 18.0.0-next.014 Mar 2024pre-release
Nothing published for this version
- 17.3.1217 Jul 2024
Release notes
Open source →<a name="17.3.12"></a>
17.3.12 (2024-07-17)
compiler
Commit Description JIT mode incorrectly interpreting host directive configuration in partial compilation (#57002) (#57003) Additional notes
Open source →compiler
Commit Type Description 327bae473b fix JIT mode incorrectly interpreting host directive configuration in partial compilation (#57002) (#57003) <!-- CHANGELOG SPLIT MARKER -->
<a name="18.1.0"></a>
- 17.3.115 Jun 2024
Nothing published for this version
- 17.3.1022 May 2024
- 17.3.915 May 2024
- 17.3.88 May 2024
Release notes
Open source →compiler
Commit Type Description c21b459ba6 fix add math elements to schema (#55631) (#55645) core
Commit Type Description 3818436ebc fix don't schedule timer triggers on the server (#55605) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.7"></a>
- 17.3.71 May 2024
Release notes
Open source →compiler-cli
Commit Type Description 51ac883167 fix don't type check the bodies of control flow nodes in basic mode (#55558) core
Commit Type Description af0eb846a5 fix render hooks should not specifically run outside the Angular zone (#55399) router
Commit Type Description 3eea50da64 fix Scroller should scroll as soon as change detection completes (#55105) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.6"></a>
- 17.3.625 Apr 2024
Release notes
Open source →core
Commit Type Description 826861b1fa fix DeferBlockFixture.render should not wait for stability (#55271) 5cf14da35c fix make ActivatedRouteinject correct instance inside@deferblocks (#55374)8979fba2c5 fix skip defer timers on the server (#55480) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.5"></a>
- 17.3.517 Apr 2024
- 17.3.410 Apr 2024
Release notes
Open source →common
Commit Type Description 53427d875d fix invalid ImageKit quality parameter (#55193) 766548c3ec fix skip transfer cache on client (#55012) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.2"></a>
- 17.3.33 Apr 2024
Nothing published for this version
- 17.3.228 Mar 2024
Release notes
Open source →compiler
Commit Type Description 2b7bad5151 fix invoke method-based tracking function with context (#54960) compiler-cli
Commit Type Description b478dfbfda fix report errors when initializer APIs are used on private fields (#55070) core
Commit Type Description 708ba8115f fix establish proper injector resolution order for @deferblocks (#55079)http
Commit Type Description cb433af0e1 fix include transferCache when cloning HttpRequest (#54939) 64f202cab9 fix manage different body types for caching POST requests (#54980) migrations
Commit Type Description 2f9d94bc4a fix account for variables in imports initializer (#55081) router
Commit Type Description 365fd50407 fix RouterLinkActive will always remove active classes when links are not active (#54982) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.1"></a>
- 17.3.120 Mar 2024
Release notes
Open source →compiler
Commit Type Description c0788200e2 fix capture data bindings for content projection purposes in blocks (#54876) compiler-cli
Commit Type Description 99e9474aa2 fix symbol feature detection for the compiler (#54711) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.0"></a>
- 17.3.013 Mar 2024
Release notes
Open source →compiler
Commit Type Description 1a6beae8a2 feat Enable template pipeline by default. (#54571) f386a04c9d fix handle two-way bindings to signal-based template variables in instruction generation (#54714) 1f129f114e fix not catching for loop empty tracking expressions (#54772) compiler-cli
Commit Type Description 12dc4d074e fix account for as expression in docs extraction (#54414) da7fbb40f0 fix detect when the linker is working in unpublished angular and widen supported versions (#54439) 492e03f699 fix flag two-way bindings to non-signal values in templates (#54714) 5afa4f0ec1 fix support ModuleWithProvidersliteral detection withtypeof(#54650)core
Commit Type Description 331b16efd2 feat add API to inject attributes on the host node (#54604) fb540e169a feat add migration for invalid two-way bindings (#54630) c687b8f453 feat expose new output()API (#54650)c809069f21 feat introduce outputFromObservable()interop function (#54650)aff65fd1f4 feat introduce outputToObservableinterop helper (#54650)974958913c feat support TypeScript 5.4 (#54414) 39a50f9a8d fix ensure all initializer functions run in an injection context (#54761) 243ccce624 fix exclude class attribute intended for projection matching from directive matching (#54800) 2909e9817d fix prevent infinite loops in clobbered elements check (#54425) 7243c704cf fix return a readonly signal on asReadonly. (#54706)bb35414a38 perf speed up retrieval of DestroyRefinEventEmitter(#54748)http
Commit Type Description 8d37ed035c fix exclude caching for authenticated HTTP requests (#54746) router
Commit Type Description c1c7384e02 feat Add reusable types for router guards (#54580) 7225485311 fix Navigations triggered by cancellation events should cancel previous navigation (#54710) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.2.4"></a>
- 17.3.0-rc.06 Mar 2024pre-release
Nothing published for this version
- 17.3.0-next.128 Feb 2024pre-release
Nothing published for this version
- 17.3.0-next.022 Feb 2024pre-release
Nothing published for this version
- 17.2.46 Mar 2024
Release notes
Open source →compiler-cli
Commit Type Description 917b9bdd2e fix unwrap expressions with type parameters in query read property (#54647) core
Commit Type Description 586cc24a10 fix apply TestBed provider overrides to @deferdependencies (#54667)b558a01c84 fix generic inference for signal inputs may break with --strictFunctionTypes(#54652)443e5f1591 fix return a readonly signal on asReadonly. (#54719)ffbafc7d4a fix untrack various core operations (#54614) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.2.3"></a>
- 17.2.328 Feb 2024
Release notes
Open source →common
Commit Type Description 1a526f2881 perf AsyncPipeshould not callmarkForCheckon subscription (#54554)compiler-cli
Commit Type Description 2aefed8763 fix catch function instance properties in interpolated signal diagnostic (#54325) 48aec63ee4 fix identify aliased initializer functions (#54480) daf7c611b2 fix identify aliased initializer functions (#54609) core
Commit Type Description 57123524a2 fix collect providers from NgModules while rendering @deferblock (#52881)79a32816dc fix fix typo in injectors.svg file (#54596) migrations
Commit Type Description dbe673b027 fix resolve infinite loop for a single line element with a long tag name and angle bracket on a new line (#54588) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.2.2"></a>
- 17.2.222 Feb 2024
Release notes
Open source →common
Commit Type Description d34e3298db fix image placeholder not removed in OnPush component (#54515) compiler
Commit Type Description 6447c0eecc fix adding the inert property to the "SCHEMA" array (#53148) compiler-cli
Commit Type Description 0a3edfb543 fix correctly detect deferred dependencies across scoped nodes (#54499) 790f4f7c26 fix use correct symbol name for default imported symbols in defer blocks (#54495) core
Commit Type Description 3bd5860c74 fix properly execute content queries for root components (#54457) migrations
Commit Type Description bb57d34110 fix Fix cf migration regular expression to include underscores (#54533) router
Commit Type Description 3e31f1a34e fix Clear internal transition when navigation finalizes (#54261) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.2.1"></a>
- 17.2.114 Feb 2024
Release notes
Open source →compiler-cli
Commit Type Description 7234824228 fix fix broken version detection condition (#54443) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.2.0"></a>
- 17.2.014 Feb 2024
Release notes
Open source →common
Commit Type Description 03c3b3eb79 feat add Netlify image loader (#54311) f5c520b836 feat add placeholder to NgOptimizedImage (#53783) compiler
Commit Type Description 47e6e84101 feat Add a TSConfig option useTemplatePipeline(#54057)66e940aebf feat scope selectors in @starting-style (#53943) 7b4d275f49 fix Fix the template pipeline option (#54148) compiler-cli
Commit Type Description 7e861c640e feat generate extra imports for component local dependencies in local mode (#53543) 3263df23f2 feat generate global imports in local compilation mode (#53543) b774e22d8e feat make it configurable to generate alias reexports (#53937) 3e1384048e feat support host directives for local compilation mode (#53877) a592904c69 fix allow custom/duplicate decorators for @Injectableclasses in local compilation mode (#54139)4b1d948b36 fix consider the case of duplicate Angular decorators in local compilation diagnostics (#54139) 96bcf4fb12 fix forbid custom/duplicate decorator when option forbidOrphanComponentsis set (#54139)64fa5715c6 fix generating extra imports in local compilation mode when cycle is introduced (#53543) 6c8b09468a fix highlight the unresolved element in the @Component.styles array for the error LOCAL_COMPILATION_UNRESOLVED_CONST (#54230) 0970129e20 fix show proper error for custom decorators in local compilation mode (#53983) f39cb06418 fix show specific error for unresolved @Directive.exportAs in local compilation mode (#54230) f3851b5945 fix show specific error for unresolved @HostBinding's argument in local compilation mode (#54230) 39ddd884e8 fix show specific error for unresolved @HostListener's event name in local compilation mode (#54230) 5d633240fd fix show the correct message for the error LOCAL_COMPILATION_UNRESOLVED_CONST when an unresolved symbol used for @Component.styles (#54230) 58b8a232d6 fix support jumping to definitions of signal-based inputs (#54053) core
Commit Type Description 702ab28b4c feat add support for model inputs (#54252) e95ef2cbc6 feat expose queries as signals (#54283) 656bc282e3 fix add toString implementation to signals (#54002) 62b87b4551 fix do not crash for signal query that does not have any matches (#54353) 4b96f370ee fix expose model signal subcribe for type checking purposes (#54357) 744cb1e561 fix return the same children query results if there are no changes (#54392) 6d00115bf4 fix show placeholder block on the server with immediate trigger (#54394) http
Commit Type Description 1c536250b6 fix Use string body to generate transfer cache key. (#54379) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.1.3"></a>
- 17.2.0-rc.19 Feb 2024pre-release
Nothing published for this version
- 17.2.0-rc.08 Feb 2024pre-release
Nothing published for this version
- 17.2.0-next.131 Jan 2024pre-release
Nothing published for this version
- 17.2.0-next.024 Jan 2024pre-release
Nothing published for this version
- 17.1.38 Feb 2024
Release notes
Open source →compiler-cli
Commit Type Description bc4a6a9715 fix do not error due to multiple components named equally (#54273) a997e08c6f fix handle default imports in defer blocks (#53695) 63a9027720 fix interpolatedSignalNotInvoked diagnostic for model signals (#54338) 40e1edc977 fix properly catch fatal diagnostics in type checking (#54309) 9f6605d11b fix support jumping to definitions of signal-based inputs (#54233) core
Commit Type Description 7df133dcc2 fix afterRenderhooks should allow updating state (#54074)744e20641a fix Fix possible infinite loop with markForCheckby partially reverting #54074 (#54329)0fb114274c fix update imports to be compatible with rxjs 6 (#54193) router
Commit Type Description 238f2a8bc9 fix Clear internal transition when navigation finalizes (#54261) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.1.2"></a>
- 17.1.231 Jan 2024
Release notes
Open source →Commit Type Description ccddacf11d fix cta clickability issue in adev homepage. (#52905) animations
Commit Type Description 98d545fafa fix cleanup DOM elements when root view is removed with async animations (#53033) common
Commit Type Description cdc5e39532 fix The date pipe should return ISO format for week and week-year as intended in the unit test. (#53879) compiler
Commit Type Description f12b01ec88 fix Update type check block to fix control flow source mappings (#53980) core
Commit Type Description c477e876e3 fix change defer block fixture default behavior to playthrough (#54088) migrations
Commit Type Description 8264382a6b fix error in standalone migration when non-array value is used as declarations in TestBed (#54122) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.1.1"></a>
- 17.1.124 Jan 2024
Release notes
Open source →router
Commit Type Description f222bee8fa fix revert commit that replaced lasthelper with nativeArray.at(-1)(#54021)<!-- CHANGELOG SPLIT MARKER -->
<a name="17.1.0"></a>
- 17.1.017 Jan 2024
Release notes
Open source →compiler
Commit Type Description 79ff91a813 fix allow TS jsDocParsingMode host option to be programmatically set (#53126) 5613051a8b fix allow TS jsDocParsingMode host option to be programmatically set again (#53292) df8a825910 fix project empty block root node (#53620) 478d622265 fix project empty block root node in template pipeline (#53620) compiler-cli
Commit Type Description abdc7e4578 feat support type-checking for generic signal inputs (#53521) e620b3a724 fix add compiler option to disable control flow content projection diagnostic (#53311) 4c1d69e288 fix add diagnostic for control flow that prevents content projection (#53190) 76ceebad04 fix do not throw fatal error if extended type check fails (#53896) 1a6eaa0fea fix input transform in local compilation mode (#53645) 56a76d73e0 fix modify getConstructorDependencieshelper to work with reflection host after the previous change (#52215)core
Commit Type Description 863be4b698 feat expose new inputAPI for signal-based inputs (#53872)94096c6ede feat support TypeScript 5.3 (#52572) 69b384c0d1 fix SignalNodereactive node incorrectly exposing unset field (#53571)6f79507ea7 fix Change defer block fixture default behavior to playthrough (#53956) 32f908ab70 fix do not accidentally inherit input transforms when overridden (#53571) bdd61c768a fix replace assertion with more intentional error (#52234) 0daca457bb fix TestBed should still use the microtask queue to schedule effects (#53843) router
Commit Type Description 5c1d441029 feat Add info property to NavigationExtras(#53303)50d7916278 feat Add router configuration to resolve navigation promise on error (#48910) a5a9b408e2 feat Add transient info to RouterLink input (#53784) 726530a9af feat Allow onSameUrlNavigation: 'ignore'innavigateByUrl(#52265)<!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.9"></a>
- 17.1.0-rc.010 Jan 2024pre-release
Nothing published for this version
- 17.1.0-next.521 Dec 2023pre-release
Nothing published for this version
- 17.1.0-next.414 Dec 2023pre-release
Nothing published for this version
- 17.1.0-next.36 Dec 2023pre-release
Nothing published for this version
- 17.1.0-next.229 Nov 2023pre-release
Nothing published for this version
- 17.1.0-next.120 Nov 2023pre-release
Nothing published for this version
- 17.1.0-next.015 Nov 2023pre-release
Nothing published for this version
- 17.0.910 Jan 2024
Release notes
Open source →common
Commit Type Description c22b513b3f fix remove unused parameters from the ngClass constructor (#53831) bd9f89d1c8 fix server-side rendering error when using in-memory scrolling (#53683) compiler
Commit Type Description 92fd6cc42e fix generate less code for advance instructions (#53845) 6a41961fbd fix ignore empty switch blocks (#53776) compiler-cli
Commit Type Description 7309463697 fix interpolatedSignalNotInvoked diagnostic (#53585) core
Commit Type Description 441db5123f fix afterRenderhooks now only run onApplicationRef.tick(#52455)f9120d79cb fix allow effect to be used inside an ErrorHandler (#53713) migrations
Commit Type Description e92c86b77f fix Fix empty switch case offset bug in cf migration (#53839) platform-server
Commit Type Description 91cb16fde9 fix Do not delete global Event (#53659) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.8"></a>
- 17.0.821 Dec 2023
Release notes
Open source →compiler
Commit Type Description de5c9ca8e9 fix correctly intercept index in loop tracking function (#53604) core
Commit Type Description d79489255a fix avoid repeated work when parsing version (#53598) 513fee871e fix tree shake version class (#53598) migrations
Commit Type Description eb7c29c7b6 fix cf migration - detect and error when result is invalid i18n nesting (#53638) ed936ba0e9 fix cf migration - detect and error when result is invalid i18n nesting (#53638) (#53639) 5c2f2539e2 fix cf migration - ensure full check runs for all imports (#53637) 817dc1b27f fix cf migration - fix bug in attribute formatting (#53636) 7ac60bab9a fix cf migration - improve import declaration handling (#53622) c3f85e51a9 fix cf migration - preserve indentation on attribute strings (#53625) e73205ff5a fix cf migration - stop removing empty newlines from i18n blocks (#53578) 886aa7b2a9 fix Fix cf migration bug with parsing for loop conditions properly (#53558) router
Commit Type Description 0696ab6a5b fix Should not freeze original object used for route data (#53635) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.7"></a>
- 17.0.714 Dec 2023
Release notes
Open source →compiler
Commit Type Description 4fd5409090 fix handle ambient types in input transform function (#51474) compiler-cli
Commit Type Description a603338fe8 fix generate less type checking code in for loops (#53515) core
Commit Type Description 58ed76be93 fix Avoid refreshing a host view twice when using transplanted views (#53021) c16b5e8290 fix Multiple subscribers to ApplicationRef.isStable should all see values (#53541) 17dbf8b8e2 fix remove signal equality check short-circuit (#53446) 5b4add27b6 fix update feature usage marker (#53542) 68d111c841 perf avoid changes Observable creation on QueryList (#53498) 044cb553b4 perf optimize memory allocation when reconcilling lists (#52245) migrations
Commit Type Description 96ab999698 fix CF Migration - ensure bound ngIfElse cases ignore line breaks (#53435) c9a1c6f1c7 fix cf migration - undo changes when html fails to parse post migration (#53530) b75aca1d74 fix CF migration only remove newlines of changed template content (#53508) e88a12d5b3 fix cf migration validate structure of ngswitch before migrating (#53530) 543df3dca5 fix ensure we do not overwrite prior template replacements in migration (#53393) d232ea143f fix fix cf migration import removal when errors occur (#53502) platform-browser
Commit Type Description d5c631bf36 fix Get correct base path when using "." as base href when serving from the file:// protocol. (#53547) router
Commit Type Description e750e4edcf fix provide more actionable error message when route is not matched in production mode (#53523) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.6"></a>
- 17.0.66 Dec 2023
Release notes
Open source →compiler
Commit Type Description a2e5f483f5 fix generate proper code for nullish coalescing in styling host bindings (#53305) compiler-cli
Commit Type Description 66ecf4c274 fix add compiler option to disable control flow content projection diagnostic (#53387) 74e6ce5d23 fix add diagnostic for control flow that prevents content projection (#53387) 6ec7a42b95 fix avoid conflicts with built-in global variables in for loop blocks (#53319) core
Commit Type Description 0a53f96094 fix cleanup signal consumers for all views (#53351) 4fc1581bbc fix handle hydration of multiple nodes projected in a single slot (#53270) 14e66533ec fix support hydration for cases when content is re-projected using ng-template (#53304) 8e366e8911 fix support swapping hydrated views in @forloops (#53274)migrations
Commit Type Description 45064f1ae1 fix CF migration - ensure NgIfElse attributes are properly removed (#53298) a6275cfa54 fix CF Migration - Fix case of aliases on i18n ng-templates preventing removal (#53299) 58a96e0f50 fix CF Migration add support for ngIf with just a then (#53297) 26e40c7f89 fix CF Migration fix missing alias for bound ngifs (#53296) 836aeba01d fix Change CF Migration ng-template placeholder generation and handling (#53394) 72d22ba7ee fix fix regexp for else and then in cf migration (#53257) 7a2facae8a fix handle aliases on bound ngIf migrations (#53261) 5104a89b30 fix handle nested ng-template replacement safely in CF migration (#53368) 2a4e3f5373 fix handle templates outside of component in cf migration (#53368) 0db75ab5b1 fix remove setting that removes comments in CF migration (#53350) router
Commit Type Description 13ade13a15 fix Ensure canMatch guards run on wildcard routes (#53239) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.5"></a>
- 17.0.529 Nov 2023
Release notes
Open source →core
Commit Type Description 6be88040d1 fix avoid stale provider info when TestBed.overrideProvider is used (#52918) dee50f1d78 fix inherit host directives (#52992) 07920d96d4 fix Reattached views that are dirty from a signal update should refresh (#53001) migrations
Commit Type Description aab7fb8654 fix Add ngForTemplate support to control flow migration (#53076) dbd6f386ea fix allows colons in ngIf else cases to migrate (#53076) 5b9f896009 fix cf migration fix migrating empty switch default (#53237) 2b3d3b0fe1 fix CF migration log warning when collection aliasing detected in @for(#53238)dffeac8386 fix cf migration removes unnecessary bound ngifelse attribute (#53236) 00cb3339ba fix control flow migration formatting fixes (#53076) c22af72f75 fix fix off by one issue with template removal in CF migration (#53255) ba6d7fe018 fix fixes CF migration i18n ng-template offsets (#53212) 8f6affdd64 fix fixes control flow migration common module removal (#53076) 6ae408847c fix properly handle ngIfThen cases in CF migration (#53256) 0fcef65cea fix Update CF migration to skip templates with duplicate ng-template names (#53204) router
Commit Type Description 91486aaf07 fix Resolvers in different parts of the route tree should be able to execute together (#52934) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.4"></a>
- 17.0.420 Nov 2023
Release notes
Open source →common
Commit Type Description 7f1c55755d fix remove loadon image once it fails to load (#52990)fafcb0d23f fix scan images once page is loaded (#52991) compiler
Commit Type Description 98376f2c09 fix changed after checked error in for loops (#52935) 291deac663 fix generate i18n instructions for blocks (#52958) 49dca36880 fix nested for loops incorrectly calculating computed variables (#52931) f01b7183d2 fix produce placeholder for blocks in i18n bundles (#52958) compiler-cli
Commit Type Description f671f86ac2 fix add diagnostic for control flow that prevents content projection (#52726) core
Commit Type Description db1a8ebdb4 fix cleanup loading promise when no dependencies are defined (#53031) 31a1575334 fix handle local refs when getDeferBlocksis invoked in tests (#52973)migrations
Commit Type Description ac9cd6108f fix control flow migration fails for async pipe with unboxing of observable (#52756) (#52972) 13bf5b7007 fix Fixes control flow migration if then else case (#53006) 492ad4698a fix fixes migrations of nested switches in control flow (#53010) 0fad36eff2 fix tweaks to formatting in control flow migration (#53058) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.3"></a>
- 17.0.315 Nov 2023
Release notes
Open source →animations
Commit Type Description f5872c9921 fix prevent the AsyncAnimationRenderer from calling the delegate when there is no element. (#52570) core
Commit Type Description 6a1d4ed667 fix handle non-container environment injector cases (#52774) 5de7575be8 fix reset cached scope for components that were overridden using TestBed (#52916) http
Commit Type Description 7c066a4af4 fix Use the response content-typeto set the blobtype. (#52840)migrations
Commit Type Description 4e200bf13b fix Add missing support for ngForOf (#52903) d033540d0f fix Add support for bound versions of NgIfElse and NgIfThenElse (#52869) aa2d815648 fix Add support for removing imports post migration (#52763) 3831942771 fix Fixes issue with multiple if elses with same template (#52863) e1f84a31dc fix passed in paths will be respected in nx workspaces (#52796) <!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.2"></a>
- 17.0.29 Nov 2023
Release notes
Open source →compiler-cli
Commit Type Description 7a95cccf50 fix add interpolatedSignalNotInvoked to diagnostics (#52687) a548c0333e fix incorrect inferred type of for loop implicit variables (#52732) core
Commit Type Description 2cea80c6e2 fix error code in image performance warning (#52727) b16fc2610a fix limit rate of markers invocations (#52742) 44c48a4835 fix properly update collection with repeated keys in @for(#52697)<!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.1"></a>
- 17.0.18 Nov 2023
Release notes
Open source →http
Commit Type Description 5c6f3f8ec0 fix Don't override the backend when using the InMemoryWebAPI (#52425) migrations
Commit Type Description 70d30c28e0 fix Add support for ng-templates with i18n attributes (#52597) 4f125c5f9a fix Switches to multiple passes to fix several reported bugs (#52592) Web Frameworks: the internet frontier.<br/> These are the voyages of the framework Angular.<br/> Its continuing mission:<br/> To explore strange, new technologies.<br/> To seek out new users and new applications.<br/> To boldly go where no web framework has gone before.<br/>
In honor of v17.0.1
______ ___.--------'------`---------.____ _.---'----------------------------------`---.__ .'___=]=========================================== ,-----------------------..__/.' >--.______ _______.---' ]====================<==||(__) .' `------' `-----------------------`' ----.___--/ / /---' `/ /_______(______________________/ `-------------.--------------.' \________|_.-'Live long and prosper 🖖🏻
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.0.0"></a>
- 17.0.08 Nov 2023
Release notes
Open source →Blog post "Angular v17 is now available".
Breaking Changes
-
Node.js v16 support has been removed and the minimum support version has been bumped to 18.13.0.
Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17. For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule
common
- the NgSwitch directive now defaults to the === equality operator, migrating from the previously used == operator. NgSwitch expressions and / or individual condition values need adjusting to this stricter equality check. The added warning message should help pin-pointing NgSwitch usages where adjustments are needed.
core
-
Angular now requires
zone.jsversion~0.14.0 -
Versions of TypeScript older than 5.2 are no longer supported.
-
The
mutatemethod was removed from theWritableSignalinterface and completely dropped from the public API surface. As an alternative, please use theupdatemethod and make immutable changes to the object.Example before:
items.mutate(itemsArray => itemsArray.push(newItem));Example after:
items.update(itemsArray => [itemsArray, …newItem]); -
OnPushcomponents that are created dynamically now only have their host bindings refreshed andngDoCheck runduring change detection if they are dirty. Previously, a bug in the change detection would result in theOnPushconfiguration of dynamically created components to be ignored when executing host bindings and thengDoCheckfunction. This is rarely encountered but can happen if code has a handle on theComponentRefinstance and updates values read in theOnPushcomponent template without then calling eithermarkForCheckordetectChangeson that component'sChangeDetectorRef.
platform-browser
-
REMOVE_STYLES_ON_COMPONENT_DESTROYdefault value is nowtrue. This causes CSS of components to be removed from the DOM when destroyed. You retain the previous behaviour by providing theREMOVE_STYLES_ON_COMPONENT_DESTROYinjection token.import {REMOVE_STYLES_ON_COMPONENT_DESTROY} from '@angular/platform-browser'; ... providers: [{ provide: REMOVE_STYLES_ON_COMPONENT_DESTROY, useValue: false, }] -
The
withNoDomReuse()function was removed from the public API. If you need to disable hydration, you can exclude theprovideClientHydration()call from provider list in your application (which would disable hydration features for the entire application) or usengSkipHydrationattribute to disable hydration for particular components. See this guide for additional information: https://angular.io/guide/hydration#how-to-skip-hydration-for-particular-components.
router
-
Absolute redirects no longer prevent further redirects. Route configurations may need to be adjusted to prevent infinite redirects where additional redirects were previously ignored after an absolute redirect occurred.
-
Routes with
loadComponentwould incorrectly cause child routes to inherit their data by default. The defaultparamsInheritanceStrategyisemptyOnly. If parent data should be inherited in child routes, this should be manually set toalways. -
urlHandlingStrategyhas been removed from the Router public API. This should instead be configured through the provideRouter or RouterModule.forRoot APIs. -
The following Router properties have been removed from the public API:
- canceledNavigationResolution
- paramsInheritanceStrategy
- titleStrategy
- urlUpdateStrategy
- malformedUriErrorHandler
These should instead be configured through the
provideRouterorRouterModule.forRootAPIs. -
The
setupTestingRouterfunction has been removed. UseRouterModule.forRootorprovideRouterto setup theRouterfor tests instead. -
malformedUriErrorHandleris no longer available in theRouterModule.forRootoptions. URL parsing errors should instead be handled in theUrlSerializer.parsemethod.
zone.js
-
Deep and legacy
dist/imports likezone.js/bundles/zone-testing.jsandzone.js/dist/zoneare no longer allowed.zone-testing-bundleandzone-testing-node-bundleare also no longer part of the package.The proper way to import
zone.jsandzone.js/testingis:import 'zone.js'; import 'zone.js/testing';
Deprecations
animations
- The
AnimationDriver.NOOPsymbol is deprecated, useNoopAnimationDriverinstead.
core
-
ChangeDetectorRef.checkNoChangesis deprecated.Test code should use
ComponentFixtureinstead ofChangeDetectorRef. Application code should not callChangeDetectorRef.checkNoChangesdirectly. -
Swapping out the context object for
EmbeddedViewRefis no longer supported. Support for this was introduced with v12.0.0, but this pattern is rarely used. There is no replacement, but you can use simple assignments in most cases, orObject.assign, or alternatively still replace the full object by using aProxy(seeNgTemplateOutletas an example).Also adds a warning if the deprecated
-
NgProbeToken
The
NgProbeTokenis not used internally since the transition from View Engine to Ivy. The token has no utility and can be removed from applications and libraries.
Commit Type Description 59aa0634f4 build remove support for Node.js v16 (#51755) animations
Commit Type Description e753278faa feat Add the possibility of lazy loading animations code. (#50738) 698c058e1c fix remove code duplication between entry-points (#51500) 0598613950 refactor deprecation of AnimationDriver.NOOP(#51843)benchpress
Commit Type Description 2da3551a70 feat report gc and render time spent in script (#50771) common
Commit Type Description fe2fd7e1a8 feat make the warning for lazy-loaded lcp image an error (#51748) dde3fdabbd feat upgrade warning to logged error for lazy-loaded LCP images using NgOptimizedImage (#52004) da056a1fe2 fix add missing types field for @angular/common/locales of exports in package.json (#52080) 85843e8212 fix allow to specify only some properties of DatePipeConfig(#51287)3bd85fb7b0 fix apply fixed_srcset_width value only to fixed srcsets (#52459) 65b460448e fix missing space in ngSwitch equality warning (#52180) 86c5e34601 fix remove code duplication between entry-points (#51500) 28a5925f53 fix use === operator to match NgSwitch cases (#51504) compiler
Commit Type Description 1934524a0c feat add docs extraction for type aliases (#52118) 7f6d9a73ab feat expand class api doc extraction (#51733) a7fa25306f feat extract api docs for interfaces (#52006) 7bfe20707f feat extract api for fn overloads and abtract classes (#52040) c7daf7ea16 feat extract directive docs info (#51733) e0b1bb33d7 feat extract doc info for JsDoc (#51733) b9c70158ab feat extract docs for accessors, rest params, and types (#51733) a24ae994a0 feat extract docs for top level functions and consts (#51733) 2e41488296 feat extract docs info for enums, pipes, and NgModules (#51733) 34495b3533 feat extract docs via exports (#51828) 7e82df45c5 feat initial skeleton for API doc extraction (#51733) 6795cccbbb fix account for type-only imports in defer blocks (#52343) 23bfa10ac8 fix add diagnostic for inaccessible deferred trigger (#51922) 31295a3cf9 fix allocating unnecessary slots in conditional instruction (#51913) 2aaddd3f64 fix allow comments between switch cases (#52449) ddd9df68bb fix allow decimals in defer block time values (#52433) 7dbd47fb30 fix allow newlines in track and let expressions (#52137) 0eae992c4e fix allow nullable values in for loop block (#51997) 073ebfe09e fix apply style on :host attributes in prod builds. (#49118) 81a287a79a fix avoid error in template parser for tag names that can occur in object prototype (#52225) 6c58252521 fix compilation error when for loop block expression contains new line (#52447) 9d19c8e317 fix don't allocate variable to for loop expression (#52158) 9acd2ac98b fix enable block syntax in the linker (#51979) 1d871c03a5 fix forward referenced dependencies not identified as deferrable (#52017) 16ff08ec70 fix narrow the type of expressions in event listeners inside if blocks (#52069) ac0d5dcfd6 fix narrow the type of expressions in event listeners inside switch blocks (#52069) 02edb43067 fix narrow the type of the aliased if block expression (#51952) 83067b3ef2 fix ng-template directive invoke twice at the root of control flow (#52515) 17078a3fe1 fix pipes used inside defer triggers not being picked up (#52071) 861ce3a7c5 fix pipes using DI not working in blocks (#52112) 1f5039bbd6 fix project control flow root elements into correct slot (#52414) 81c315ec6e fix template type checking not reporting diagnostics for incompatible type comparisons (#52322) 1beef49d80 fix update the minVersion if component uses block syntax (#51979) 386e1e9500 fix work around TypeScript bug when narrowing switch statements (#52110) e5bca43224 perf further reduce bundle size using arrow functions (#52010) compiler-cli
Commit Type Description 5b66330329 fix allow non-array imports for standalone component in local compilation mode (#51819) 377a7abfda fix bypass static resolving of the component's changeDetection field in local compilation mode (#51848) 19c3dc18d3 fix fix NgModule injector def in local compilation mode when imports/exports are non-array expressions (#51819) 11bb19cafc fix handle nested qualified names in ctor injection in local compilation mode (#51947) f91f222b55 fix resolve component encapsulation enum in local compilation mode (#51848) core
Commit Type Description 59b6ec6be8 docs Deprecate ChangeDetectorRef.checkNoChanges(#52431)4f04d1cdab feat add new list reconcilation algorithm (#51980) c7127b98b5 feat add schematic to escape block syntax characters (#51905) 50275e58b8 feat Add schematic to migrate control flow syntax (#52035) 81b67aa987 feat add support for zone.js 0.14.0 (#51774) 048f400efc feat add warnings for oversized images and lazy-lcp (#51846) 93675dc797 feat conditional built-in control flow (#51346) 4427e1ebc2 feat create function to assert not running inside reactive context (#52049) e23aaa7d75 feat drop support for older TypeScript versions (#51792) 43e6fb0606 feat enable block syntax (#51994) 3cbb2a8ecf feat implement deferred block interaction triggers (#51830) 8be2c48b7c feat implement new block syntax (#51891) a54713c831 feat implement ɵgetInjectorMetadata debug API (#51900) 5b88d136af feat mark core signal APIs as stable (#51821) 8eef694def feat Provide a diagnostic for missing Signal invocation in template interpolation. (#49660) 40113f653c feat Remove deprecated CompilerOptions.useJitandCompilerOptions.missingTranslation. (#49672)68ba798ae3 feat revamp the runtime error message for orphan components to include full component info (#51919) 1a4aee7e49 feat show runtime error for orphan component rendering (#52061) 687b96186c feat support deferred hover triggers (#51874) e2e3d69a27 feat support deferred triggers with implicit triggers (#51922) 16f5fc40a4 feat support deferred viewport triggers (#51874) 59387ee476 feat support styles and styleUrl as strings (#51715) 9cc52b9b85 feat support TypeScript 5.2 (#51334) 7d42dc3c02 feat the new list reconciliation algorithm for built-in for (#51980) 935c1816fd fix add rejectErrorsoption totoSignal(#52474)5411864c2e fix adjust toSignal types to handle more common cases (#51991) dcf18dc74c fix allow toSignal calls in reactive context (#51831) dbffdc09c2 fix avoid duplicated code between entry-points (primary, testing, rxjs-interop) (#51500) 4f69d620d9 fix deferred blocks not removing content immediately when animations are enabled (#51971) df58c0b714 fix disallow afterRenderin reactive contexts (#52138)5d61221ed7 fix disallow using effectinside reactive contexts (#52138)99e7629159 fix do not remove used ng-template nodes in control flow migration (#52186) c7ff9dff2c fix drop mutate function from the signals public API (#51821) 00128e3853 fix drop mutate function from the signals public API (#51821) (#51986) ddef3ac9a4 fix effects wait for ngOnInit for their first run (#52473) 5ead7d412d fix ensure a consumer drops all its stale producers (#51722) 1dd8558f82 fix Ensure backwards-referenced transplanted views are refreshed (#51854) 50ad074505 fix framework debug APIs getDependenciesForTokenInInjector and getInjectorMetadata (#51719) 80e7a0f8fa fix guard usages of performance.mark(#52505)b9ea2d6900 fix handle aliased index with no space in control flow migration (#52444) ffe9b1fcc2 fix handle for alias with as in control flow migration (#52183) e5720edb46 fix handle if alias in control flow migration (#52181) 4461cefa4f fix handle trackBy and aliased index in control flow migration (#52423) 7368b8aaeb fix host directive validation not picking up duplicate directives on component node (#52073) 696f003553 fix mutation bug in getDependenciesFromInjectable(#52450)d487014785 fix Remove no longer needed build rule related to removed migration (#52143) 4da08dc2ef fix remove unnecessary migration (#52141) 384d7aacd0 fix replace assertion with more intentional error (#52427) 40bb45f329 fix Respect OnPush change detection strategy for dynamically created components (#51356) 3a19d6b743 fix run afterRender callbacks outside of the Angular zone (#51385) a2ba5482c3 fix use TNode instead of LView for mapping injector providers (#52436) d5dad3eb4c fix viewport trigger deregistering callbacks multiple times (#52115) 8e4a7ab52b perf avoid repeated access to LContainer and trackBy calculation (#52227) 1dc14d9853 perf avoid unnecessary callbacks in after render hooks (#52292) e90694259e perf build-in for should update indexes only when views were added / removed (#52051) 1032c1e1a5 perf cache LiveCollectionLContainerImpl (#52227) 685d01e106 perf chain template instructions (#51546) 88a0af64fd perf generate arrow functions for pure function calls (#51668) 37d627dbd4 perf minimze trackBy calculations (#52227) 3861a73135 perf Update LView consumer to only mark component for check (#52302) 9b9e11fcaf refactor deprecate allowing full context object to be replaced in EmbeddedViewRef(#51887)ba9fc2419e refactor deprecate the NgProbeToken(#51396)http
Commit Type Description 7dde42a5df feat allow customization of the HttpTransferCache. (#52029) 8156b3d4ec fix Don't override the backend when using the InMemoryWebAPI (#52425) bd9e91ecf7 perf reduce data transfer when using HTTP caching (#52347) language-service
Commit Type Description 449830f24e feat Complete inside @switch (#52153) e2416a284f feat Enable go to definition of styleUrl (#51746) 023a181ba5 feat Implement outlining spans for control flow blocks (#52062) 7c052bb6ef feat Support autocompletion for blocks (#52121) 9d565cd6d6 fix Autocomplete block keywords in more cases (#52198) localize
Commit Type Description 5a20a44c64 fix ng-add schematics for application builder (#51777) migrations
Commit Type Description f0da7c2e44 feat schematic to remove deprecated CompilerOptions properties (#49672) 965ce5a8c5 feat Schematics for TransferState,StateKeyandmakeStateKeymigration. (#49594)09e905ad67 fix account for separator characters inside strings (#52525) 4c878f90d2 fix Add support for nested structures inside a switch statement (#52358) d7397fb29b fix Ensure control flow migration ignores new block syntax (#52402) 6a01d62b9d fix fix broken migration when no control flow is present (#52399) 9c2be715a3 fix Fixes a bug in the ngFor pre-v5 alias translation (#52531) 54fed68bbf fix Fixes the root level template offset in control flow migration (#52355) 57404d4723 fix handle comma-separated syntax in ngFor (#52525) 54bc384661 fix handle nested classes in block entities migration (#52309) c9b1ddff4d fix handle nested classes in control flow migration (#52309) 6988a0070e fix handle ngIf else condition with no whitespaces (#52504) e40e55d902 fix Remove unhelpful parsing errors from the log (#52401) c267f54bc3 fix Update regex to better match ng-templates (#52529) platform-browser
Commit Type Description c340d6e044 feat enable removal of styles on component destroy by default (#51571) c5daa6ce77 feat expose EventManagerPluginin the public API. (#49969)5b375d106f fix Fire Animations events when using async animations. (#52087) 65786b2b96 fix prevent duplicate stylesheets from being created (#52019) 75d610d420 fix set animation properties when using async animations. (#52087) 3c0577f991 perf disable styles of removed components instead of removing (#51808) c9cde3ab10 perf only append style element on creation (#52237) dbc14eb41d refactor remove withNoDomReusefunction (#52057)platform-server
Commit Type Description 0c66e2424c fix resolve relative requests URL (#52326) router
Commit Type Description 1da28f4825 feat Add callback to execute when a view transition is created (#52002) 73e4bf2ed2 feat Add feature to support the View Transitions API (#51314) 86e91463af feat Add option to skip the first view transition (#51825) ce1b915868 fix Allow redirects after an absolute redirect (#51731) 37df395be0 fix children of routes with loadComponent should not inherit parent data by default (#52114) 4dce8766f8 fix Ensure newly resolved data is inherited by child routes (#52167) f464e39364 fix Ensure title observable gets latest values (#51561) b2aff43621 fix Remove urlHandlingStrategyfrom public Router properties (#51631)c62e680098 fix Remove deprecated Router properties (#51502) 3c6258c85b fix Remove deprecated setupTestingRouter function (#51826) 0b3e6a41d0 fix Remove malformedUriErrorHandler from ExtraOptions(#51745)c03baed854 fix use DOCUMENT token instead of document directly in view transitions (#51814) <!-- CHANGELOG SPLIT MARKER -->
<a name="16.2.12"></a>
-
- 17.0.0-rc.37 Nov 2023pre-release
Nothing published for this version
- 17.0.0-rc.22 Nov 2023pre-release
Nothing published for this version