-
Notifications
You must be signed in to change notification settings - Fork 26.5k
Description
TL;DR
The Angular team is deprecating support for Internet Explorer 11 in Angular v12 (to be released in May 2021 and supported through November 2022), and plans to remove support for this browser in Angular v13 (late 2021).
Why?
The worldwide usage of Internet Explorer 11 (IE11) has been steadily declining for years, and is currently at 0.73% according to StatCounter and 1.70% according to NetMarketShare, meaning that a very small fraction of the overall world population uses this browser and benefits from our effort to support it.
At the same time, IE11 is the last non-evergreen browser that Angular currently supports, and due to the feature gap between IE11 and evergreen browsers, it is becoming increasingly difficult to provide modern features in Angular while also preserving IE11 compatibility.
Since some of the core functionality of the framework, Material components, and CLI must work on IE11, supporting this legacy browser has resulted in complexity, compromises, or even in our inability to offer solutions that would take advantage of modern web APIs.
Community feedback
We'd like the community to weigh in on the timeline of removal of IE11 support.
Angular v12 is planned to be the last version of Angular that supports IE11, this version will be:
- released in May 2021
- actively supported through November 2021, and
- supported under LTS through November 2022
See Angular's support policy & schedule for more information about differences between active and LTS support, and other support policy info.
This timeline seeks to balance when the benefits of IE11 removal will materialize with the need to ensure ecosystem stability and support. If however the community feels strongly that we should move ahead on a more aggressive timeline, or if there are reasons to delay the actual removal further, we'd like to hear from you. Please provide the arguments and use cases in comments below.
This RFC will close on May 10, 2021.
The benefits
Angular is an evergreen platform, meaning that it stays up to date with the evolving Web ecosystem. By removing support for legacy browsers we can focus our efforts on providing modern solutions and better support to developers and users.
There are several groups of stakeholders that will benefit from the removal of IE11 support:
-
Application users
- the apps will be smaller and load faster thanks to the removal of IE11-specific code
- the use of modern Web APIs will result in further UX improvements
-
Application authors and stakeholders
- will benefit from improved APIs and build infrastructure
- will reduce the risks and liabilities due to known security issues and limitations of IE11
- can lean on our decision as an argument when talking to application stakeholders about IE11 support (if they still support it)
-
Library authors
- can lean on our decision and drop IE11 support in their libraries as well (if they still support it)
-
Angular team
- We'll be able to remove special JS and CSS code paths, polyfills, build passes, and dev infrastructure that exists only because we support IE11.
- Since IE11 is the last non-evergreen browser we support, we'll gain access to many new modern web APIs and features that have been around for years, but we couldn't use them due to IE11 support and limitations to polyfilling. These APIs include:
- CSS Variables, Intersection Observers, CSS Grid (components/issues#7374)
- Native version of EcmaScript APIs (e.g. regexp)
- Web animation APIs
- Proxies
- etc
Background information
Microsoft support
IE11 was initially released almost 8 years ago, in 2013, and since that time, it has been receiving only bug and security fixes. It was superseded by Microsoft Edge, which unlike IE11 is an evergreen browser, which automatically receives feature updates including web platform API enhancements.
On August 17, 2020 Microsoft announced deprecation of IE11 support in Microsoft 365 apps and services, with the removal date set for August 17, 2021. Microsoft Teams already removed support for IE11 on November 30, 2020.
Web API feature gap
The difference in Web APIs & features supported by IE11 compared to evergreen (modern) browsers is too vast to list in this RFC, and can instead be reviewed at caniuse.org.
Browser usage
source: statcounter.com
source: netmarketshare.com