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.
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 thevalueChanges
event only once per value change (as opposed to twice in some cases). See PR 36087. - The
minLength
andmaxLength
validators only validate values that have a numericlength
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 returnnull
values. See PR 36402.- Transplanted views now refresh at insertion point only. See PR 35968](https://github.com/angular/angular/pull/35968).
- Formatting times with the
b
orB
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.
New Deprecations
Area | API or Feature | May be removed in |
---|---|---|
@angular/core | WrappedValue | v12 |
browser support | IE 9, 10, and IE Mobile | v11 |
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.
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.
Automated Migrations for Version 10
Read about the migrations the CLI handles for you automatically: