Closed (fixed)
Project:
Drupal core
Version:
8.5.x-dev
Component:
other
Priority:
Major
Category:
Plan
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
10 Jan 2017 at 07:20 UTC
Updated:
17 Dec 2019 at 03:09 UTC
Jump to comment: Most recent
Comments
Comment #2
effulgentsia commentedGiven this, setting this to RTBC for greater visibility. We can downgrade the status if comments are posted that warrant doing so.
Comment #3
catchI'd still go for the full proposed resolution in the issue summary.
Comment #4
damienmckennaWouldn't dropping support for browsers be considered breaking backwards compatibility, which is against the goals for the 8.x releases?
Comment #5
David_Rothstein commentedThat part seems pretty extreme to me. (See also discussion in #2390621: [policy, no patch] Update Drupal's browser support policy and #1030090: Document our browser support list about A-list, B-list, and C-list browsers.)
The rest seems reasonable.
Comment #6
catch@DamienMcKenna no the bc policy covers the public API. Browser compatibility is neither an API nor part of that policy.
However our browser support matrix is not clear at all, hence this issue and others to try to clarify/decide exactly what it is and document it.
Comment #7
damienmckenna@catch: Thanks for the clarification.
Should this be postponed while #2842298: [policy, no patch] Drop IE9 and IE10 support from Drupal 8.4.x is worked out?
Comment #8
xjmComment #9
xjmComment #10
cilefen commentedIE 8, 9, and 10 entered end-of-life on January 12, 2016 on most platforms. But Vista is supported until April 2017. Cool.
We cannot innovate on this project by supporting browsers the OS vendor doesn't support anymore and have been automatically warning users about for one year. So, I am a big +1 on forgetting IE 10 ever existed in 8.3.
Comment #12
xjmComment #13
alexpottChanging version given the issue title is ...support from Drupal 8.3
Also changing "annoying" to "hard and costly" since this issue shouldn't happen because IE is unpopular with core developers - it should happen because it makes sense for us to do it.
Comment #14
wturrell commentedI'm certainly not against dropping old IE support, but isn't the usual advice to check your site's usage data before you do? (i.e. do we collect version info for accesses of drupal.org?)
Comment #15
catchThis isn't for Drupal.org, it's for Drupal core. Also Drupal.org is running on Drupal 7, which this policy won't necessarily apply to.
There's been a lot of discussion about browser usage in the past, but it varies massively depending on where the data is collected from, and within that regionally etc. Not only that but people administering sites (and especially visiting Drupal.org) are more likely to use newer browsers than site visitors. This makes it impossible to have an 'objective' discussion about browser usage, so a lot of the discussion in #2390621: [policy, no patch] Update Drupal's browser support policy is about trying to find a browser support policy that's more straightforward and based on what browsers people are able to use on different operating systems vs. hold outs.
Comment #16
xjmI think the remaining steps to mark this fixed are to:
Comment #17
xjmAll the release managers agreed on this policy. Leaving the other tags as while @effulgentsia is in favor as he filed the issue, neither that nor @alexpott's comment isn't a signoff per se, and there is no product feedback on this issue yet. So that's step 0 actually.
Comment #18
xjmYeah, needs a CR. That's how we handled this in the past.
Comment #19
wturrell commentedMade provisional update to the Recommended target browsers page (which can/should be tidied up once 8.3.0 is actually out).
Comment #20
catchAll framework managers are +1 to this, so removing tag.
Comment #21
xjmLater today after my comment, the framework and release managers agreed to move this to 8.4.x, since the jQuery UI update did not make it into 8.3.x, and all future improvements for ES6 and so forth will also only happen in 8.4.x anyway since 8.3.x is shortly to be in RC.
Thanks @wturrell for starting on the documentation fixes!
Marking the issue NW to add the needed change record as well.
Comment #22
xjmLater today after my comment, the framework and release managers agreed to move this to 8.4.x, since the jQuery UI update did not make it into 8.3.x, and all future improvements for ES6 and so forth will also only happen in 8.4.x anyway since 8.3.x is shortly to be in RC.
Thanks @wturrell for starting on the documentation fixes!
Marking the issue NW to add the needed change record as well.
Comment #23
xjmAlso updating the summary to reflect the move to 8.4.x.
Comment #24
droplet commentedAdding a news:
https://make.wordpress.org/core/2017/04/23/target-browser-coverage/
Comment #25
nicrodgersIt's not clear when we talk about Drupal's supported browsers, whether we mean within the CMS as a site editor (eg the Drupal editing tools, add/edit node, WYSIWYG toolbar etc), or as an anonymous visitor. Or do you mean both?
Comment #26
effulgentsia commentedFor this issue, we mean both. Depending on site configuration, even an anonymous user can post comments via a WYSIWYG editor that opens jQuery UI dialogs (e.g., for creating a link). And there's other pathways to running JS as an anonymous user too.
Comment #27
nod_Somehow i missed that issue. Good news :)
Comment #28
nicrodgersOk, thanks for the clarification effulgentsia. Do we expect the contrib space to be able to fill the gap and provide support for IE 9 and 10, in the same way that ie8 is currently enabling 8.0 - 8.3 to work with IE 8?
Comment #29
catch@nicrodgers contrib could provide a jquery_downgrade module which reverts back to 2.* releases, the opposite of Drupal 7's jquery_update.
Our own JavaScript hasn't yet changed to rely on features in the newer jQuery versions or that aren't supported IE9/10 so it'd just be a case of switching back to older jQuery at the moment. This might change in the future though so it'd get more complicated then.
Comment #30
gappleI'm currently working on implementing a module to provide Content-Security-Policy headers, which runs into a small issue due to IE 9 still being supported.
Since IE9 only supports 31 stylesheets per webpage, if there are more
CssCollectionRendereroutputs them within an@importstatement instead of as<link>elements. This means thatstyle-src 'self'can't be used, and insteadstyle-src 'self' 'unsafe-inline'is needed.Enabling CSS aggregation should reduce the number of stylesheets on the page below the threshold of 31 items such that they can be output as
<link>elements, so production sites should not be affected if this particular support for IE9 was removed.Comment #31
effulgentsia commentedFrom the issue summary's "counter-arguments":
We now have data about this. For June 2017, IE9 usage is at 1.07% and IE10 usage is at 0.79%. Each is already below IE8's usage of 1.62%. And conceivably, by the time Drupal 8.4 is released in October, IE9 and IE10's combined usage might be below IE8's.
Although this policy issue still needs a change record in order to be finalized, I'm very much in favor of opening an issue to remove that
@importworkaround inCssCollectionRenderer. I think that would be a fantastic patch to get into 8.4 and include in the CR as a concrete example of us dropping IE9 support. @gapple: would you like to open that issue?As a concrete example for the above proposed change to
CssCollectionRenderer, sure, a contrib ie9.module could override that class with the Drupal 8.3 implementation. Depending on how Drupal core continues to evolve without IE9 workarounds, the ie9.module could become increasingly complex and hard to maintain.Comment #32
gappleCreated #2897408: Remove IE9 support from CssCollectionRenderer and provide it in contrib instead
Comment #33
webchickReviewed this issue with @effulgetsia.
Speaking as a product manager, and having reviewed a few different sources for browser usage data (StatsCounter, NetMarketShare and consistently see IE11.0 as the only version of IE that ranks. The Internet has clearly shifted to Chrome as the default browser, and IE8 has more marketshare than IE10+9 combined. :P
And even if we dig in on a specific region like China, which has been problematic in the past for these kinds of decisions due to widespread adoption of XP/IE8, http://gs.statcounter.com/browser-version-market-share/desktop/china#mon... we still see IE8 having a higher marketshare than either IE9 or IE10.
Therefore, I think we're good to go on this. I think we should follow jQuery UI's lead, in that we shouldn't exactly go out of our way to break things for IE9/10, but we also shouldn't hold back innovation for these browsers from 8.4.0 on.
Comment #34
webchickDraft change record created at https://www.drupal.org/node/2897971.
Comment #35
droplet commentedThis is unclear. It compares to jQuery UI and makes me feel we have the same standard. But it actually sounds like only remains the fixes until the first release: 8.4.0?
jQuery foundation able to make their decision case by case (not only on security issues). and jQuery & UI have very clear @support annotation. And they seldom restructure the CSS without bug fixes I think.(There's 2 years development time between 1.11 & 1.12). Which means when jQuery UI said remains the fixes, we could expect it works until 1.13.
However, in Drupal in this case. We able to introduce and refactor CSS. Do we start breaking changes from 8.4.1?
Starting use new innovation in new Component (eg. experimental module) VS Able to refactor code in the current features. It's a huge diff from my mind.
Comment #36
yoroy commented@droplet it seems you have questions about when and what we can change in the CSS after making this jQuery update? But I think the main question is if we should drop support for IE versions below 11. Do you agree with that? If we still need to clarify the impact of this change then we should do that, but it would be good to have your yes or no about which versions of IE to support :)
Version 11 seems to be the only version of IE that still registers in these usage numbers, so sounds sensible to me.
Comment #37
droplet commented@yoroy,
The decision is made. I have no right to vote Yes or No :p My answer isn't important. I also gave my comments in different of these IEs posts already.
Now, I only want to know:
1. when will drupal start to remove older IE fixes. 8.4.1 or 8.5.0?
2. And when can drupal introduce IE11+ only changes, 8.4.1 or 8.5.0?
This is very important to our own development. (and when I review patches in d.org)
Comment #38
yoroy commentedThanks for clarifying @droplet.
Comment #39
catchWe probably need a new issue to create a version of https://www.drupal.org/core/d8-bc-policy for CSS and JavaScript.
For pure-refactoring patches, we'd probably only do both of those changes in the next minor release (which currently could include 8.4.x, but will very soon mean 8.5.x), in the same way that PHP refactoring only lands in the later version.
Changes required to fix bugs, or in experimental modules, could land in both branches though.
@webchick the change record looks good. Since we have that, should we mark this to RTBC?
Comment #40
effulgentsia commentedExcellent points in #35, #37, and #39. Even though this issue isn't yet marked Fixed, the CR is not yet published, and #37 and #39 are not yet fully clarified, I drafted language in the 8.4.0-alpha release notes in #2895685-23: Create release notes (a.k.a CHANGELOG) for Drupal 8.4.0-alpha1 and Drupal 8.4.0 with the thought that it's better to communicate something imperfect than nothing at all. Refinements to that language is certainly welcome in that issue.
#2897408: Remove IE9 support from CssCollectionRenderer and provide it in contrib instead is also under discussion currently for how to apply the policy for 8.4 with respect to that issue, so comments there are welcome as well.
Comment #41
catchOpened #2898533: Better define the backwards compatibility/API policy for JavaScript for #39, I think we can continue discussion of what changes we should allow when there, close this issue, and publish the change record?
Comment #43
xjmThis is now mentioned in the release notes and I've publish the change record, with some small changes: https://www.drupal.org/node/2897971/revisions/view/10579669/10590748
I corrected it to say "Internet Explorer" instead of the insider "IE" shorthand, and also added the information that we are removing existing workarounds for them beginning in 8.5.x rather than 8.4.x.
Followups:
Comment #45
gapple