Code

What’s new in Angular 10

Development of the next major release of the popular Google-created web framework is under way
Pro
(Image: Stockfresh)

1 May 2020

Angular 10, a planned upgrade to the popular web development framework, is now in progress, with five beta releases of the TypeScript-based platform having arrived since 8 April. The upgrade to the Google-developed framework is expected to focus more on the ecosystem than features.

Angular 10 is likely to be smaller than previous versions of Angular. A target date for an Angular 10 production release is still to be determined. Angular 9.0 became generally available 6 February 2019, followed by Angular 9.1 on 25 March 2019. Angular 8.0 arrived 28 May 2019.

You can find preliminary releases of Angular 10 on GitHub.

 

advertisement



 

New features in Angular 10

Key features of Angular 10 thus far include:

  • The addition of dependency information and ng-content selectors to metadata. This proposed compiler feature would provide additional metadata useful for tools such as the Angular Language Service, offering the ability to provide suggestions for directives/components defined in libraries.
  • Performance improvements, achieved by reducing the size of the entrypoint manifest and a caching technique in the manifest. In addition, caching of dependencies is done in the entrypoint manifest and read from there rather than being computed every time. Previously, even if an entrypoint did not need processing, ngcc (Angular Ivy compatibility compiler) would parse the files of the entrypoint to compute dependencies, which would take a lot of time for large_node modules.
  • In a breaking change, logic has been updated pertaining to formatting day periods that cross midnight. When formatting a time with the or B format code, the rendered string was not properly handling day periods that spanned days. Instead, the logic was falling back to the default case of AM. This logic has been updated so it matches times within a day period that extends past midnight, so it will now render correct output, such as at night in the case of English. Applications using either formatDate() or DatePipe or the b and B format codes will be affected by this change.
  • For the router, the CanLoad guard now can return Urltree. A CanLoad guard returning Urltree cancels current navigation and redirects. This matches current behavior available to CanActivate guards that also has been added. This does not affect preloading. A CanLoad guard blocks any preloading; any routes with a CanLoad guard will not be preloaded and the guards will not be executed as part of preloading.
  • Propagation of the correct value span in an ExpressionBinding of a microsyntax expression to ParsedProperty, which in turn would propagate the span to the template ASTs (both VE and Ivy). This proposal also is for the compiler.
  • In a fix to the core, logic would be added to undecorated-class migration to decorate derived classes of undecorated classes that use Angular features.
  • In a breaking change, Urlmatcher’s type will reflect that it could always return null.
  • For the service-worker, a fix has been put in for a situation in which there was a chance that the service worker will never register when there is a long-running task or recurring timeout.
  • A number of bug fixes have been made including the compiler avoiding undefined expressions in a holey array and the core avoiding a migration error when a non-existent symbol is imported. There is also a workaround in the core for the Terser inlining bug. Another bug fix properly identifies modules affected by overrides in TestBed.

IDG News Service

Read More:


Back to Top ↑

TechCentral.ie