What’s new in Angular 11

Highlights of the planned upgrade to the Google-developed web framework include stricter types and router performance improvements

What’s new in Angular 11

Development is proceeding on Angular 11, a planned upgrade to the Google-developed web framework, with five beta releases delivered in September and two more in October. So far the proposed additions and changes include stricter types, router performance improvements, and the removal of support for certain Internet Explorer browser versions.

The beta releases are available in GitHub. With Angular 11, stricter types would be added for DatePipe and number pipes, in order to catch misuses, such as passing an Observable or an array, at compile time. 

Other improvements proposed for Angular 11 include:

  • For the Angular compiler, keySpan would be added to the Variable node.
  • For the compiler CLI, a getResourceDependencies method is being added to the Ngcompiler compiler class that allows compiler integrations to access resource dependencies of files within the compilation. This will be used within the CLI’s webpack plug-in to optimize the dependency discovery process.
  • Support for “go to definition” functionality is being added to the Ivy Language Service.
  • The router in Angular 11 would change the default value of relativeLinkResolution from “legacy” to “corrected.” The migration updates RouterModule configurations that use the default value to now specifically use “legacy” to prevent breakages during updating.
  • In a fix to the core, a Trusted Types policy is being introduced in the development mode. It allows arbitrary unsafe conversions to Trusted Types to support development features. Also, a module is being added to create a Trusted Types policy for use internally by Angular.
  • New initialNavigation options are being added to legacy functionality.
  • For code refactoring in the router, the type of parameter in navigateByUrl and createUrlTree is being adjusted to be more accurate.
  • To improve router performance, ngDevMode can be used to tree-shake error messages.
  • For service-worker, an UnrecoverableStateError notification is being added, fixing an issue in which a broken state would arise where only parts of an application would load properly. This situation has arisen when the browser has evicted eagerly cached assets from the cache that cannot be found on the server anymore.
  • Support is removed for the Microsoft IE 9 and IE 10 browsers as is IE mobile support.
  • ISO week-numbering year formats support is being added to formatDate.
  • For the compiler-cli, interfaces are being defined that can be used for TemplateTypeChecker. Performance improvements have been made to compiler-cli, also.
  • For the core, a migration is being added that finds all imports and calls to the deprecated async function @angular/core/testing and replaces them with waitforasync.
  • null is now included in the types of .parent.
  • A multitude of bug fixes are planned, including an improvement to typing of common pipes and another fix to ensure TestBed is not instantiated before the override provder.

A roadmap published for Angular, listing features either in development or eyed for the future, cites capabilities including native trusted types and strict typing for forms. The Angular 10.1 point release, with compiler and router improvements, was released on September 8. Angular 10.0, with tool and ecosystem capabilities, arrived on June 24.

Copyright © 2020 IDG Communications, Inc.