Talk:Compatibility

Jump to navigation Jump to search

About this board

IznoPublic (talkcontribs)
Krinkle (talkcontribs)

This page documents compatibility of the MediaWiki core software, not the Wikimedia Foundation deployment and infrastructure as used for Wikipedia. There are hunderds of software packages and services that make up the Foundation's infrastructure. The subset of all those make up what Wikipedia offers in total, and what it requires at minimum. That is not documented on this page. For the specific aspect of HTTPS requirements, that is documented on Wikitech indeed.

MediaWiki can be used with any web server and (if using HTTPS) any certificate authoritity. It does not have to be Let's Encrypt.

Having said that, there are plans to remove iOS 9 support for MediaWiki's additive "Modern" JS-based features over the near year, as part of T178356. The exact iOS version to require for our subset of ES2015 features is still to be determined, but there is consensus that it will include at least "Promise" and "Promise-finally" which would require iOS 11.

Reply to "iOS 9"

Regarding Vue 3 and not-IE11

4
Izno (talkcontribs)

As a note, incorporating Vue 3 also removes grade A compatibility for Safari < 10 (Safari 9.1) and Android 4.X lines, for the same reasons that IE 11 is not supported (lack of support for Proxy, if I am reading MDN correctly). Compatibility#Special treatment for IE11 could perhaps be adjusted, or perhaps both should be a note for Template:Compatibility browser instead of a section-proper. (Or perhaps its own row, "Browsers without Vue 3".)

Izno (talkcontribs)

The only reason I bumped into this is that some of us on Discord were throwing around sending VisualEditor to clients as WebAssembly, which has very similar Modern requirements according to CanIUse: it would require WMF to drop Modern support for Safari 9, Safari 10, and Android 4.X, which are almost the same requirements for Vue 3.

Krinkle (talkcontribs)

The eventual dropping of IE11 is essentially a more explainable version of the technical requirement for ES6, likely a year from now. See T178356#6632565 and startup.js isES6Supported for details on what that exactly would entail. There hasn't been a decision yet and the exact definition of "ES6 in practice" is still relativaly vague since some parts of the ES6 specification are still not implemented today even in the latest versions of Firefox and Chrome, despite ES6 (aka ES-2015) now being five years old and ES-2020 spec features having already been released in most browsers.

Having said that, it looks like Safari 9-10 and Android 4 indeed might end up on the side of Grade C, depending on what subset of ES6 we are going to check for and require.

Xover (talkcontribs)

Raising Safari Grade A support to 10.1/10.3 and dropping Android 4.x would also have the nice side effect of making CSS Grid Layout permissible to use without too much fiddling with fallbacks. Given the numbers are so low (<0.1% and 0.22%) it might even be worthwhile upping the requirement independently of ES6 and Vue 3.

Reply to "Regarding Vue 3 and not-IE11"

"Software marked in blue is supported while software marked in orange is not supported."

5
Reedy (talkcontribs)

Supported by who? Us? Their relevant upstream?

We should clarify and put upstream/vendor supported into the text

If it is indeed that case (it looks to be by the PHP versions), the MySQL versions need updating.

MySQL 5.5 is no longer supported by Oracle. 5.6 is in Extended Support until Feb 2021.

Reedy (talkcontribs)
Reedy (talkcontribs)

And at some point... Maybe we should be bumping the supported versions inside MW too...

I'm sure we have some version related hacks around...

Dinoguy1000 (talkcontribs)

It's also not accessible to communicate information only through color, which is also currently happening here.

Krinkle (talkcontribs)

I don't know what it originally meant, but the way it is used today on this page, I think the color is just as extra helper to guide eyes toward rows that continue through to the latest MW release.

E.g. any bars that only apply to previous MW releases are marked yellow, and the first ones that are still current are marked in blue.

I've removed the sentence since it does not communicate any new information and doesn't warrant a legend I think.

Reply to ""Software marked in blue is supported while software marked in orange is not supported.""

"Current and previous version"

19
George Ho (talkcontribs)

I'm curious. The Compatibility#Browser support matrix says "Current and previous version". Does it mean the last two versions (one current, other previous) of Chrome, Firefox, Opera, and Edge? If not, then what else does it mean?

Jdforrester (WMF) (talkcontribs)

It does, yes.

George Ho (talkcontribs)

That means Chrome on Windows 7 (discussed at Topic:Vez28sl17aww4qzz) will run a "Grade C" matrix when Google will stop supporting the browser on Windows 7, right?

Jdforrester (WMF) (talkcontribs)

No. They'll get Grade X support.

Jdforrester (WMF) (talkcontribs)
George Ho (talkcontribs)

So which versions of Chrome will receive the Grade C support?

Jdforrester (WMF) (talkcontribs)

The current and immediately former release versions. As of today, that's 79 and 78.

Once Chrome abandons Windows 7 (which went EOL years ago and EOS this week), it'll not get release versions, and so will fall into Grade X.

At that point, the only Grade A browser on Windows 7 will be Internet Explorer 11, which I imagine we'll be dropping quite soon, and then there'll be none.

George Ho (talkcontribs)

the task (phab:T269504) that I filed about Windows 7 was closed as "invalid". I thought long hard about the compatibility of browsers in Windows 7, but I don't know where else to (re-)start. I don't want to migrate to another OS yet just to receive further support for browsers. But I'm still troubled by the page's not mentioning "operating system". The fact that Chrome and other browsers on Win 7 were downgraded from Grade A to Grade C (except IE11, still Grade A to this date) without any other kind of mention when Microsoft's support for Win7 ended still irks me. Must I create a task demanding extension of basic support for soon-to-be older final versions of browsers in unsupported OSes, or what else shall I do?

Jdforrester (WMF) (talkcontribs)

You can ask for it. I don't think the teams responsible will say yes. Windows 7 is really, really not OK to encourage people to use, and I think it would be a very poor use of donor funds to work to make it easier to do something so risky.

George Ho (talkcontribs)

All right. Have you already scheduled end of support for browsers on Windows 7? If not, shall I create a such task on Phab, or is that unnecessary? That would attract remaining Win7 users wanting to stick with it, wouldn't it?

Jdforrester (WMF) (talkcontribs)

We don't support operating systems. We support browsers, based on features, encryption availability, and likelihood of security issues being fixed. I'm not sure what solution you're driving towards?

George Ho (talkcontribs)

All right. I'll drop the OS matter for now. I'll stick to browsers and report issues with the browser in the future then.

George Ho (talkcontribs)

Were you confusing Grade C with Grade A? If not, what about what the table says about browsers using different matrices?

Jdforrester (WMF) (talkcontribs)

Were you confusing Grade C with Grade A?

No, I was not.

If not, what about what the table says about browsers using different matrices?

I'm sorry, I don't understand?

George Ho (talkcontribs)

I'll clarify: The table chart at Compatibility#Desktop lists "Modern" (Grade A), "Basic" (Grade C), and "Unknown" (Grade X) in rows. The way you answered makes the chart not as accurate as seen there unless I misinterpret what the chart actually says. Or for what does the chart intend?

Jdforrester (WMF) (talkcontribs)

If you don't spell out what you're interpreting it to mean, I can't tell you whether you're misinterpreting it.

"Grade A" is real, tested JS support.

"Grade X" is probable, untested JS functionality, which is unsupported.

"Grade C" is known-broken-with-JS-so-we-don't-try.

George Ho (talkcontribs)

I'll put this another way.

"Modern" row lists "Current and previous version[s]" of Chrome, Edge, Firefox, and Opera. Then it lists IE11+, Safari 5.1+, iOS 6.1+, and Android 4.1+. Do those versions correctly belong to that row?

"Basic" row lists Chrome 1+, Firefox 3.0+, Opera 15.0+, Edge 12+, IE8+, Safari 3.0+, iOS 5.0+, and Android 2.0+. Is this listing correct?

Jdforrester (WMF) (talkcontribs)

"Modern" row lists "Current and previous version[s]" of Chrome, Edge, Firefox, and Opera. Then it lists IE11+, Safari 5.1+, iOS 6.1+, and Android 4.1+. Do those versions correctly belong to that row?

Yes. (Though in practice users of Android 4.3 and below can't access Wikimedia properties any more because of SSL issues.)

"Basic" row lists Chrome 1+, Firefox 3.0+, Opera 15.0+, Edge 12+, IE8+, Safari 3.0+, iOS 5.0+, and Android 2.0+. Is this listing correct?

Yes. (Though again, the SSL issue arises.)

Volker E. (WMF) (talkcontribs)
Reply to ""Current and previous version""

Compatibility of Firefox ESR

4
Summary by AKlapper (WMF)

Requested version support in phab:T269812

George Ho (talkcontribs)

Firefox ESR's current version is based on version 78. However, the Firefox (Rapid Release) v.78 has Basic support. Does this mean that Firefox ESR's version has Basic support, not Modern?

Jdforrester (WMF) (talkcontribs)

It'll end up in Grade X, getting Grade A features but untested.

George Ho (talkcontribs)

What's the traffic of Wikimedia users using Firefox ESR? I thought about writing a Phab task about this.

George Ho (talkcontribs)

Found browser hierarchical view saying that 0.63% (i.e. less than one percent) use version 78. That's much less than IE11 traffic.

Summary by Krinkle
ThinkPadLover123 (talkcontribs)

Ever since Wikipedia, MediaWiki, etc., completely blocked Windows XP (and any other systems without encryption deemed good enough from reading or accessing the sites in any way), there is definitely no way MSIE 6 is in any way supported! IE 7 on Vista is sadly the earliest I imagine is still allowed any access at all.

Too bad for anyone on a system which can't be updated — nothing for you!

Dinoguy1000 (talkcontribs)

Windows Vista was released in 2007, Windows 7 was released in 2009, and extended support for Windows XP ended in 2014. People have had over a decade to migrate to a more modern operating system. At this point, the only defensible reason for being stuck on XP is because your work environment requires it (and personally, in that situation I'd be looking for a different job).

Krinkle (talkcontribs)

The MediaWiki software still supports IE6 for its HTML web pages. I test this about once a year for unrelated reasons with a local MediaWiki install on BrowserStack (with tunnel). It still works.

Wikipedia and sister projects by Wikimedia Foundation, are indeed no longer accessible in IE6. This is indeed related to encryption. IE6 is not capable of modern encryption. It is also true that we care about your privacy and security, and want you to be protected from third parties that may be eavesdropping your connection.

But, the fact that users of IE6 are insecure is not by itself a reason to block them. In fact, Wikipedia does not "block" any web browsers. The HTTPS technology involves encryption. The website has a list of encryption methods it supports, and your browser as well. If both support the same method, then you can browse the website.

If Wikipedia were to allow the old IE6 encryption method, then that means you (on a modern browser, not IE6) can be spied on as well, because anyone between you and Wikipedia on the Internet can "downgrade" your connection to IE6's encryption method; see what you are reading on Wikipedia, and re-encrypt in a modern way toward you.

The only way to keep everyone else safe, is to keep IE6 out. This was not an easy decision.

For more information, see HTTPS recommendations. Specifically, note that users on Windows XP can still access Wikipedia by using Firefox ESR 52, which does support good-enough encryption!

MySQL 5.7 seems to be compatible with MediaWiki 1.25.3 unlike in the Table

2
Summary by Krinkle

MediaWiki 1.29 supported MySQL 5.0+, which included MySQL 5.7.

Meisoda22 (talkcontribs)

I am currently running MediaWiki 1.25.3 and planning to upgrade. I was concerned by the MySQL table which looks like I need to change MySQL versions when going from MediaWiki 1.29 to version 1.30. But the table seems to be mistaken, because when I look at my wiki's version page I see: MySQL 5.7.25-log so it seems that the MySQL 5.5.8+ box needs to be much longer in the MySQL table.

Krinkle (talkcontribs)

Under MW 1.25, the table says "MySQL 5.0.3+" which means older versions are unsupported (but might unofficially work), and newer versions are supported and are expected to work. That includes MySQL 5.7.

The change between MW 1.29 and MW 1.30 is that MySQL 5.4 and older are no longer supported and might not work.

Process to change compatibility

5
Izno (talkcontribs)

I have at least one question based on the discussions related to HTML in phabricator: What is the process by which we decide to change MediaWiki's compatibility? Is it well-defined? Does it need calling out on this page?

Krinkle (talkcontribs)

The process is Requests for comment, as most technical decisions.

Typical stakeholders are Product, Analytics, and SRE.

Typical questions/criteria are: monthly page views, edits, ability to upgrade (e.g. which OS is typically associated with that browser, could the user upgrade?), cost/benefit in terms of engineering.

At the end of the day though, the reasons can vary greatly so there thusfar hasn't been a fixed process. Sometimes it's motivated by security, sometimes by performance, sometimes by cost of development or testing, sometimes by product needs for newer abilities where it is difficult or expensive to have a fallback, etc.

If you're mainly looking for how to make sure you are aware of proposed changes, then watching TechCom-RFC on Phabricator, or looking for TechCom digests on Wikitech-l will suffice.

Izno (talkcontribs)

Indeed, I do watch the Techcom project on Phab. Most interested in having this page say why and when such will change. A sentence ad hoc gist might be reasonable if that's the answer right now.

Incidentally, one might ask whether it makes sense to have 2-4 separate RFCs all related to basic technology assessment, as are present now :^). Calls into question the efficacy of ad hoc assessment, rather than some other possible rules, such as:

  1. A hard rule like "modern browsers are releases from the past 6 months, basic browsers the past 5 years, unknown everyone else", or,
  2. A standard process rule like "we assess target browsers once after each LTS release and then stick to those target browsers until the next LTS release".

There's a similar inefficiency in PHP version planning apparently, what with the last-minute decision on which PHP version the 1.35 LTS would require (which should really have been sorted as soon as 1.34 was cut for release). (At least there was intent to plan there...).

Thanks for responding!

Krinkle (talkcontribs)

We did this for PHP indeed, through Support policy for PHP, which documents what we want to support at minimum and for how long. This makes it easy for administrators and users of the software to set expectations and plan ahead, while also allowing uncontroversial removing of support for versions that fall outside those criteria. A larger conversation is only be needed when considering to support something longer than the policy asks for, or to e.g. remove support ahead of time for some reason.

For browsers, I don't think this is as easy. For PHP, the developers using MediaWiki can choose to postpone an upgrade until they are ready to upgrade. For browsers, users have no control over the MediaWiki version that is deployed. They cannot keep using the old version that supported their browser until they are able to purchase a new phone, for example.

As such, I don't think critiria based on version numbers or age should have a strong influence. But, I do agree that it would help if we had something written down about what our general intention and aim is for browser support. For example, aiming for X per cent of audience on Modern, and aiming for < Y per cent prior considering removal of Basic support.

I will bring this up to product managers next quarter as part of T178356. One of the problems we have right now that make this difficult, is that we have a fairly large portion of browsers categorised as "Other" in our browsers dashboard, more than 9% in total are browsers that individually have <0.1% usage. I suspect this is not true, and that perhaps some bots or spiders are caught in here, or that e.g. some browser is seen as N different ones with <0.1% each instead of one larger family. I am looking into that right now. This is relevant because otherwise we could at most aim for 90% on Modern, which seems rather low.

Izno (talkcontribs)

Right, those were bikeshedding specific examples to the ideas of technical and process rules, of course, without intent on my part to suggest that those should even look like the rules. ;)

For browsers, users have no control over the MediaWiki version that is deployed. They cannot keep using the old version that supported their browser until they are able to purchase a new phone, for example.

Sure. I think the current "we guarantee JS+CSS support to these, CSS support to those, and you get what you get otherwise" is a pretty safe policy that incorporates considerations like that, to some extent. (Even on phones [Apple excepted-I saw that's 20% of mobile ~= 13% total], users increasingly have access to evergreen rendering/script engines even if that's not the browser that came with their phone.)

Anyway, I feel sufficiently heard now. ;)

Reply to "Process to change compatibility"

Php 7.4 compatibility?

3
Summary by Volker E. (WMF)

PHP 7.4 has become part of the table with MW v1.35.0 as clarified in thread.

Spiros71 (talkcontribs)

There appears to be no entry in the table or comment in the text.

Jdforrester (WMF) (talkcontribs)

Correct. Most of MediaWiki itself works with PHP 7.4, but we are still waiting on some key upstream libraries and extensions.

星耀晨曦 (talkcontribs)

Expect us to declare support for PHP 7.4 in Mediawiki 1.35.

PHP compatibility for 1.32 - shall I believe table or text?

2
Varnav (talkcontribs)

According to table 1.31 and 1.32 supports PHP 7.2.x only. According to text: "The latest stable branch of MediaWiki (1.32) runs on any version of PHP 7.0.13 to PHP 7.2."

Shall I believe table or text?

星耀晨曦 (talkcontribs)

The table is actually saying that 1.31, 1.32 and the master branch support PHP 7.0, 7.1 and 7.2 at the same time.