-
Notifications
You must be signed in to change notification settings - Fork 25.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Internet Explorer 11 support deprecation and removal #41840
Comments
For this exact reason, we shipped first version of the project without IE 11 support. I would agree with you since Microsoft only supports Edge Chromium(for end users) |
Really glad to see the proactive move away from IE11. We registered with MS so that anyone visiting us with IE11 automatically redirect in to Edge. |
I think IE usage should be deprecated as soon as Microsoft pulls the plug for its support for consumers, and removed soon after (next version, maybe?). Time to (finally) move on. |
Please consider this option: users who need IE11 support have an option to include tones of polyfills, but it will allow their apps to work. Some companies require IE11 support because of “thin clients” they use. They don't care what will be the size of the application since app is for internal use. Leaving them with the outdated framework is not an option - it will not pass a security audit. So with the “download tones of your polyfills” option, they would still have the ability to use Angular. |
Good decision, we spend most of our UI development time in fixing that one small control which works in chrome but not in IE & then we spend a lot of our precious time in applying hacks to make it work in IE. Clients want us to use latest angular version with IE support just in case someone uses IE. Glad, now they have to chose either latest angular version or IE support. I think timeline is perfect and may even have been earlier as I don't know why someone would use IE in 2021 when they have chromium based edge or chrome. I have a top end i7 laptop and IE still fails to load fast. If its just because some people are used to IE and don't want to try anything else , then they need to be forced to use other browsers as otherwise they would keep using IE for another 100 years. |
@e-oz there thank you for your feedback. Angular does all of this today and offers differential loading to minimize penalty for modern browsers. But even with this approach there is many web APIs we wish we could use but simply can't because they would be incompatible with IE11. There are real limitations to what can be polyfilled in production-ready (secure, reliable, and performant) way. The same applies to transpilation. And for some APIs its better not to use them at all than to put in place a complex and slow build pipeline that would make things compatible. |
We have long since dropped IE11 support in Ionic and support this as well. |
I support this wholly and as quickly as possible. I realize there may be some uses cases that require ie11 but we have to move on and allow angular to evolve as a framework. |
Who says, |
Selfishly I'd like to see this go ahead, because it's one of the things that probably has to happen before Jasmine can drop IE support. When my clients ask for IE support it's because they need browser upgrades in their organization to be infrequent and planned, and they haven't figured out where else to get that. Dropping IE might be more palatable to those organizations if more than one Firefox ESR version is supported. |
This feels like a reasonable and generous timeframe to me. The B2B app I work on has ~1.7% IE11 users we're working to message transitioning. Being able to point to Microsoft apps and significant dev frameworks like Angular dropping support will help lend credibility to the data we present in our transition messages. I appreciate the Angular team asking for input from the community on these major decisions! |
I have previously worked with a company that built an internal enterprise app that only worked in an older version of Chrome. This meant they had to install the specific version of Chrome on employees' machines. |
Kill it with fire. |
Although it is a bit irregular, I think there is an option to extend the v12 LTS until the end of December 2022. |
There is no need for violence. 😊 |
@lacolaco that would add more than a year if LTS to v12 which is a significant commitment, but we will consider it. Can you help me understand the connection between AngularJS upgrades and IE11. In my experience they are two distinct problem spaces which sometimes overlap in some enterprises with a lot of legacy apps and clients. If an enterprise has a fleet of IE11 clients, I'd hope that they would be working on updating the fleet in parallel to AngularJS upgrade. Upgrading to Angular is not meant to provide "indefinite" IE11 support. Maybe I'm missing something? |
I totally agree with this decision. But I have a big problem. Sometimes those companies don't have time/money/reason or even the desire to ditch IE, so we just have to stick with it. I'll definitely use this as an argument:
It may end up well. But if not, we will have to move away from Angular on some specific apps. Let's see what happens. |
@IgorMinar My thought is, the LTS version which is living at the end of AngularJS should have the same IE11 support because LTS-to-LTS migration should be supported.
Sorry, it's my mistake. AngularJS EOL is Dec 2021. No problem for LTS-to-LTS migration :) |
@wileymarques please let us know how it goes. One reason for this RFC is to spark these kinds of conversations. Removing IE11 support is just a matter of time regardless of the framework/application, and starting the conversation now will avoid surprises in the future. |
@IgorMinar, indeed! I totally agree with you. I'll try to get a response as soon as I can! |
I guess its the right time to do this. This has to be eventually done. +1 to what @IgorMinar said. |
What would happen when Microsoft ditches IE 11 support? |
They already have for MS Teams and will soon for MS 365 which represents most of their web products. Dropping support for the browser itself is likely complicated because of how the support for the browser is tied to the support for the OS and therefore won't formally happen for many more years. It's not reasonable for the web ecosystem to wait that long. |
@IgorMinar It's about time. I dropped IE support for my customers when it was at version 8. Mostly for 2 reasons.
@wileymarques I have had this discussion before. By now, the discussion is settled. Especially when you are a bank ;) It is about time IE gets dropped for the hot potato it is ;) |
Great decision! The timeline seems quite reasonable. We recently dropped support for IE on Mustakbil.com. After reading comment from @penfold , we've also registered our website with Microsoft's IE compatibility list, so that anyone visiting our website with IE11 is automatically redirected in to Edge. |
yes!!!!!!!!!!! finally, been waiting to erase my painful memory of IE11 hacks and workaround |
Once the IE support is removed, will there be a switch in the See also closed issue here: angular/components#12672 |
Why not remove official support for IE early in v12, instead of waiting until v13? Companies interested in IE can keep using version 11 which still has more than 1 year of support. |
I hate IE as much as you do, and I agree with the community policy of removing IE support. Unfortunately, the usage rate of IE is still high in Japanese public organizations (about 30-40% by experience), and it is used within the intranet, so "security reasons" do not motivate the renewal of devices and browsers. Some organizations even have a security policy of "using IE11". And even more unfortunately, I and my team are developing an app in Angular for use on that intranet... I think the immediate solution here is to "do not update from Angular v11". |
I would suggest create one additional package, @angular/ie-11-support it should load before bootstrap (main.ts) there are banks/upi solution which still uses IE11, it is really painful to explain them. |
@indraraj26 this would essentially mean polyfilling the missing APIs, which is what we do today but that only works for a subset of APIs we'd like to use. For example it's not possible to polyfill CSS custom properties in this way. |
@kaito3desuyo you can use this trick: |
We specifically do not support any IE version at all. We never had any issues with that - removing support greatly simplifies and improves our solution. /update |
I think the timeline of dropping IE 11 support can be more aggressive since those who still need IE 11 support can stay on Angular 11 as it's stable and performant enough and will be supported in almost 1 year. Considering the benefits of dropping IE 11 support, we can drop IE 11 support in Angular 12 immediately instead of waiting for Angular 13. |
Just a quick summary of the discussion and a reminder that the RFC closes next Monday. So far it seems that vast majority of the people that got involved in the discussion support the deprecation and removal timeline as proposed. There are two additional smaller groups of people — those that would like us to outright remove IE11 support in v12, and those that would like to see an extension of the support period. Several commenters asked if we could offer polyfills and additional transpilation — this is something we already heavily do and that's how the current IE11 support works, but there are real limitations to what we can do with this approach and we feel strongly that these limitations are holding the entire Angular ecosystem back and prevent all of us taking advantage of using modern Web APIs. In #41840 (comment) @SanderElias reminded us that there are real security threats and risks affecting any businesses that still rely on IE11 and these concerns outweigh concerns about teams eventually using unsupported version of Angular. If you have additional comments or things that we missed, please let us know. Thank you! |
I am really glad the Angular team is taking a step into a modern, IE free web 🚀 🔥 ! This is probably not the most objective or persuasive argument, but HEY, we all know there's truth in it 😄 😇 |
One follow up comment. For those who believe they "need IE support for legacy applications." Microsoft has provided a path forward: Edge/legacy mode. If that doesn't work, that's Microsoft's responsibility to address. It shouldn't hold up everyone else. |
I totally support the move that is being taken up and timeline also seems perfect. I don't know who is using IE in 2021. Great decision. |
I do think we can remove support for IE 11 in Angular v12. |
This RFC is now closed, thank you everyone for participating. Since my last summary of the discussion we heard from several developers that they'd like IE11 support removed in v12. Judging by the number of reactions, it seems that this group of community members is still in minority compared to those that would prefer to go with the originally proposed timeline. In reality the difference between dropping IE11 in v12 and v13 at this point in time is negligible. The master/main branch will be open for breaking changes targeting v13 in 2-3 months, so that's when we we'll able to start making IE11 incompatible changes. 2-3 months is insignificant in the long term perspective, and not worth creating the extra inconveniences for developers and teams that still support IE11. So to summarize, the originally proposed timeline is the one with the most support, this means that IE11 support will be deprecated in v Angular v12 (to be released in May 2021 and supported through November 2022), and IE11 support removal will occur in Angular v13 (late 2021). Thank you again everyone for sharing your thoughts with us and helping us make the decision. |
@IgorMinar thanks for opening this. I wished I had seen it before the ng 12 release, but I'm happy that the team engaged in this discussion. |
Microsoft finally retiring Internet Explorer 11 on June 15,2022 |
Fully support this decision. Frankly it's difficult to understand the tenacity with which some organizations have clung to this relic. There have been much better options for a very long time. Our stack includes Bootstrap and we were supportive of BS5's decision to drop IE11 support. It's great to have clarity from our framework of choice. |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
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:
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
Application authors and stakeholders
Library authors
Angular team
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
The text was updated successfully, but these errors were encountered: