angular-cn/aio/content/guide/updating-to-version-10.md

4.9 KiB

Updating to Angular version 10

This guide contains information related to updating to version 10 of Angular.

For information on upgrading to Angular version 9, see Updating to Angular version 9.

Updating CLI Apps

For step-by-step instructions on how to update to the latest Angular release (and leverage our automated migration tools to do so), use the interactive update guide at update.angular.io.

If you're curious about the specific migrations being run by the CLI, see the automated migrations section for details on what code is changing and why.

Changes and Deprecations in Version 10

For information about Angular's deprecation and removal practices, see Angular Release Practices.

{@a breaking-changes}

New Breaking Changes

  • Typescript 3.6, 3.7, and 3.8 are no longer supported. Please update to Typescript 3.9.
  • Input fields of type number fire the valueChanges event only once per value change (as opposed to twice in some cases). See PR 36087.
  • The minLength and maxLength validators only validate values that have a numeric length property. See PR 36157.
  • Templates with unknown property bindings or unknown element names now log errors instead of warnings. See PR 36399.
  • UrlMatcher can now return null values. See PR 36402.
  • Transplanted views now refresh at insertion point only. See PR 35968.
  • Formatting times with the b or B format codes now supports time periods that cross midnight. See PR 36611.
  • Navigation is canceled for routes with at least one empty resolver. See PR 24621.

{@a deprecations}

New Deprecations

Area API or Feature May be removed in
@angular/core WrappedValue v12
browser support IE 9, 10, and IE Mobile v11

{@a removals}

New Removals of Deprecated APIs

The following APIs have been removed starting with version 10.0.0*:

Package API Replacement Notes
@angular/core Undecorated base classes that use Angular features Add Angular decorator See migration guide for more info
@angular/core ModuleWithProviders without a generic ModuleWithProviders with a generic See migration guide for more info
@angular/core Style Sanitization no action needed See style sanitization API removal for more info
@angular/bazel Bazel builder and schematics bazelbuild/rules_nodejs More info

*To see APIs removed in version 9, check out this guide on the version 9 docs site.

{@a ivy}

Ivy features and compatibility

Since version 9, Angular Ivy is the default rendering engine. If you haven't heard of Ivy, you can read more about it in the Angular Ivy guide.

  • Among other features, Ivy introduces more comprehensive type-checking within templates. For details, see Template Type-checking.

  • For general guidance on debugging and a list of minor changes associated with Ivy, see the Ivy compatibility guide.

  • For help with opting out of Ivy, see the instructions here.

{@a migrations}

Automated Migrations for Version 10

Read about the migrations the CLI handles for you automatically: