Talk:Compatibility
Add topiclink to the page giving dates of versions for each release
[edit]In T:212 "The MediaWiki Docker image, primarily used by developers, uses PHP 8.3 as of December 2024.": it is better to make a reference to a page (a section) showing the release and the PHP versions ad hoc, rather than to write a hard coded date in this page - although it is true today, it will lost its interest in the future. Can someone affine that to improve readibility in time ? Thanks. --Christian 🇫🇷 FR 🎅 (talk) 06:32, 15 January 2025 (UTC)
- We don't have a page to link to which covers that, though. Are you proposing to start one and maintain it? Jdforrester (WMF) (talk) 14:42, 15 January 2025 (UTC)
Change Chrome to Chromium
[edit]Chromium and Google's Chrome are equivalent to each other in terms of versions, javascript and layout engine, so there's no need to emphasize specifically Google's fork of it. MinervaNeue (talk) 10:45, 25 April 2025 (UTC)
- @Krinkle: @Shirayuki: . MinervaNeue (talk) 14:52, 25 April 2025 (UTC)
- @MinervaNeue: Chrome and Edge are treated separately, but since both are Chromium-based and there is no difference in how they display MediaWiki, following your suggestion would result in merging them under Chromium.-- Shirayuki (talk) 22:02, 25 April 2025 (UTC)
- Regarding equivalence, there are actually notable compile-time differences between Google Chrome, Chromium, and other Chromium-based browsers, including entirely new features and additional JavaScript APIs, turning off CSS/JS capabilities, and accessibility differences. They also tend to make their own decisions about if and when to launch certain capabilities in the engine, e.g. disabling them until they are meet their own business/legal/product needs, which can be earlier or later or even never. In other words: Chromium 109, Google Chrome 109, Opera 95(Chrome/109 OPR/95), Edge 109(Chrome/109 Edg/109) are not equivalent, despite being based off the same source code, as they each compile and invoke the engine with different conditional flags. When the Chromium open source project decides to flip a compile flag is entirely different from when or if Google/Microsoft/Opera decide to flip that flag in their distribution.
- Note that when it comes to how the software behaves, we don't consider any vendor names or brands. The technical switch in
startup.jsfor the Modern layer is strictly based on capabilities only, never on any browser name or version. This wasn't the case 15 years ago, but I changed this for precisely the motivation you describe - that we should not bias how the software behaves to emphasize dominant positions today. This means what you get in terms of interface experience should never be affected by how popular or well-known your specific browser of choice is (see the "Grade X" section to learn more about this). - The only place where this page mentions browsers by name is the Grade A support table. This reflects what browsers developers are expected to test in before stable releases, and how bug reports are prioritized. This is about specific browsers that end-users install, not internal engines or source code repositories. The browser that 50% of Wikimedia pageviews use, is Google Chrome, not Chromium. If bugs in less-popular distributions of Chromium are reproducible in Google Chrome, they will receive the same priority. This is why Microsoft Edge and Opera are listed separately, too. Any decision other than testing/bug priority is not affected by the browser names listed here.
- @MinervaNeue Does this solve your concern? Krinkle (talk) 22:11, 25 April 2025 (UTC)
- Yes but "The browser that 50% of Wikimedia pageviews use, is Google Chrome, not Chromium" - how do you know if Chromium doesn't have a distinct useragent? MinervaNeue (talk) 13:45, 26 April 2025 (UTC)
PHP 8.4 is missing (in compat matrix)
[edit]PHP 8.4 is missing in the PHP version compatibility matrix with MediaWiki. MediaWiki 1.44 is also missing. Tessus (talk) 22:30, 3 July 2025 (UTC)
- Is PHP 8.4 supported? Looking at the severity of tasks at phab:tag/php_8.4_support, I’m not sure. —Tacsipacsi (talk) 08:09, 4 July 2025 (UTC)
- @Tessus: Indeed, it's not "missing", it's not supported yet, as @Tacsipacsi says. Jdforrester (WMF) (talk) 18:21, 10 July 2025 (UTC)
- @Jdforrester (WMF) in this case I just want to mention that the first sentence requires clarification: "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher."
- The term "PHP 8.1.0 and higher" includes all stable versions, which in turn also includes 8.4. Tessus (talk) 19:46, 10 July 2025 (UTC)
- @Tessus: I'm not sure it's wrong. It almost certainly runs, it just isn't tested. A more specific form of words that takes up more space isn't an improvement, though. Jdforrester (WMF) (talk) 19:56, 10 July 2025 (UTC)
- @Jdforrester (WMF) my point is that this sentence actually includes 8.4, but is then missing in the rest of the section. This was the reason why I thought/said it was missing. Tessus (talk) 20:01, 10 July 2025 (UTC)
- @Tessus:
this sentence actually includes 8.4
- Well, my point is that it doesn't necessarily. You're saying that you interpret "runs on PHP 8.1.0 and higher" to mean "runs on any version of PHP 8.1.0 and higher"; I'm saying that others are seeing it (as intended) as "runs on at least PHP 8.1.0 and also some higher versions, but not lower". Jdforrester (WMF) (talk) 14:07, 11 July 2025 (UTC)
- Yes,
>= 8.1.0or8.1.0 and highermeans that8.1.0is the minimum required version, but also works with any version higher than that. How can you arbitarily exclude a version from this neaning and where is this arbitrary upper bound? There isn't one, unless you specify it. Tessus (talk) 18:57, 11 July 2025 (UTC)- @Tessus: That is taking human-written language and assuming (I think?) composer's version of SemVer labelling. They are not the same. Jdforrester (WMF) (talk) 14:02, 14 July 2025 (UTC)
- I agree to disagree. Especially in IT the human language borrows comparison semantics (and notation) from mathematics, but this is besides the point in this case. This has nothing to do with composer, semver, or anything else for that matter. If someone tells me (orally or written) that SW runs on x or higher, my brain tells me that it will run on version x and everything that comes after x.
- I seriously do not understand how somebody would understand that in any other way.
- I checked this sentence in a few languages and "it runs on x and higher", does not mean "it runs on x and higher, but does not run on a version that is higher than an arbitrary version".
- Don't get me wrong, I don't want to be difficult, but interpreting this as "runs on at least x and also some higher versions, but not lower" makes no sense. I agree with almost everything in your sentence, except the "also some higher versions" part. Shall we guess what these "some" versions are? This is unspecific and useless information for someone who wants to run this SW. ~2025-19375-5 (talk) 20:03, 14 July 2025 (UTC)
- @~2025-19375-5, @Tessus: If you pick any old videogame that states "requires Windows 95 or better" do you also expect it to run on Windows 11? Because following your logic that's explicitly included too.
- No offense, but I think some people have far too much spare time in their hands. Tactica (talk) 20:31, 14 July 2025 (UTC)
- No worries, I am done here. This is a useless conversation anyway. Be happy for being vague and unspecific.
- Your example is ill-considered. We are not talking about an old game, but SW that is written and in use now. And yes, back then when the video game was published, I would have expected it to run on all Windows releases that were better at that time. This does not mean this holds true 20 years later. Context matters. ~2025-19375-5 (talk) 20:45, 14 July 2025 (UTC)
- @Tessus: That is taking human-written language and assuming (I think?) composer's version of SemVer labelling. They are not the same. Jdforrester (WMF) (talk) 14:02, 14 July 2025 (UTC)
- Yes,
- @Jdforrester (WMF) my point is that this sentence actually includes 8.4, but is then missing in the rest of the section. This was the reason why I thought/said it was missing. Tessus (talk) 20:01, 10 July 2025 (UTC)
- "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher" is correct. I'm running 1.44 on PHP 8.4.7, the Arch Linux wiki runs 1.43.3 on 8.4.10 and if WikiApiary worked, more sites could be easily listed running on 8.4.x. IMO the document doesn't require modification because the paragraph just two lines below the quoted statement implies 8.3 is the latest supported/tested version and anything beyond is uncharted territory.
- I'd ask if there's any way third party users can provide compatibility data running a script or something but then again PHP updates on WMF wikis would be far more useful in that regard. Tactica (talk) 20:27, 10 July 2025 (UTC)
- @Tactica: We know for sure that several unit tests and libraries we use just for Wikimedia production aren't PHP 8.4 compatible yet, as linked above. We generally consider "supported" to be at the point where every patch for MW core itself (at least) is ensured in CI to be passing, which we have not yet achieved. Jdforrester (WMF) (talk) 20:50, 10 July 2025 (UTC)
- @Tactica my point was that it was not that clear. Either the matrix was missing data, or the sentence needed clarification, e.g. that 8.4 is not supported, even though mw can run on it.
- Other companies use "to run on" as a synonym for "is supported". How do we know how it is meant for mediawiki? Also, according to the PHP support policy, 8.4 should be supported.
- All I am saying the paragraph needs clarification. Tessus (talk) 19:08, 11 July 2025 (UTC)
- @Tessus: I'm not sure it's wrong. It almost certainly runs, it just isn't tested. A more specific form of words that takes up more space isn't an improvement, though. Jdforrester (WMF) (talk) 19:56, 10 July 2025 (UTC)
I learnt more from this discussion than from the content page. It would help to add to "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher." so that it says "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher. PHP 8.4 is not yet officially supported." As stated above, there are two separate concepts here. In fact I'm going to make that change now! :-) Jonathan3 (talk) 13:55, 6 November 2025 (UTC)
- @Jonathan3: This breaks the point of that line being generated automatically and updated. It's also not just 8.4, but also 8.5 for instance. Maybe we should track upper supported version as a shared page too? Jdforrester (WMF) (talk) 16:54, 6 November 2025 (UTC)
- I'm pretty sure that would please @Tessus if it were to happen :-) Tactica (talk) 17:48, 6 November 2025 (UTC)
- @Tactica, @Jonathan3, @Tessus: How's this change? Jdforrester (WMF) (talk) 19:05, 6 November 2025 (UTC)
- Looks good to me, though I'd make the template admin protected just in case. Tactica (talk) 19:45, 6 November 2025 (UTC)
- @Tactica: All of the others are just edit-confirmed, so I matched it. But yes, maybe they all should be raised. Jdforrester (WMF) (talk) 20:00, 6 November 2025 (UTC)
- I have to admit I hate the translation tags so much I didn't even look to see what was inside them, so didn't notice the template call. Sorry about that! "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 up to 8.3.x." looks fine to me. I think Tessus was right about how a layman would read "x and higher", and Tactica must be right that it "runs on" versions higher than those supported, but your change addresses these points in a suitably ambiguous way. Jonathan3 (talk) 21:02, 6 November 2025 (UTC)
- @Tactica: All of the others are just edit-confirmed, so I matched it. But yes, maybe they all should be raised. Jdforrester (WMF) (talk) 20:00, 6 November 2025 (UTC)
- You were right, I like the change. ;-) Although I think people mentioned that mw also runs on PHP 8.4, yet it is not mentioned at all. The text gives the impression that it won't run on PHP 8.4, which is clearly contradictory to what people said in this discussion.
- Maybe there should be a distinction between supported and running on. In that sense, one should maybe specify what compatibility means. If something is in the compat matrix, is that version supported or known to work?
- For me the language is still too lose and not specific enough. According to the discussion above, people mentioned that mw runs on PHP 8.4. Yet, from which version on? I understand "to run on" as "works on", "is known to work", and the literal sense that it will run on that version. In that regard PHP 8.4 should be included as object for "running on".
- Here is my take on it and how it should read (because it leaves no room for interpretation):
- "The latest stable branch of MediaWiki (1.44) is supported on PHP 8.1.0 up to 8.3.x, but is known to run on 8.4.x as well."
- The compat matrix should maybe have additional color coding, e.g. a pastel yellow/amber for PHP 8.4 which means "known to work" / "runs on".
- You guys must all hate me for being such a stickler. Although I am sure we'd get along famously having a beer in a pub discussing this. ;-) Tessus (talk) 23:30, 6 November 2025 (UTC)
- I also wanted to add some context regarding the earlier discussion about the `+` in version specifications. e.g. in the database matrix is says MySQL 5.7.0+. For me that means that everything above is supported. e.g. I'm using MySQL 8.4 and mediawiki runs on it. I never understood it so that without specifying an exception (as it was done for mariadb) MediaWiki would stop working at an arbitrary version.
- The same is true for Postgres, which says PostgreSQL 10+. I am using Postgres 18 and mw runs and works on it as well.
- Thus the PHP matrix should remove the `+` Tessus (talk) 23:46, 6 November 2025 (UTC)
For me that means that everything above is supported.
- Unfortunately that's not necessarily true. It's hoped that things above it are supported, but other than PHP newer versions aren't tested, and sometime we find major issues only once people try to use it in the real world. "Supported" can mean several different levels of expectation, and we should be careful not to mix up which we mean. Jdforrester (WMF) (talk) 18:01, 12 November 2025 (UTC)
- Looks good to me, though I'd make the template admin protected just in case. Tactica (talk) 19:45, 6 November 2025 (UTC)
- @Tactica, @Jonathan3, @Tessus: How's this change? Jdforrester (WMF) (talk) 19:05, 6 November 2025 (UTC)
- I'm pretty sure that would please @Tessus if it were to happen :-) Tactica (talk) 17:48, 6 November 2025 (UTC)
Even some Grade A browsers have bugs
[edit]


I have tested Wikipedia light and dark mode on Safari 12, which is a Grade A browser, on macOS Mojave, using LambdaTest. I found a few bugs:
- In Wikipedia mobile web, links appear underlined (see images 2 and 3).
- Too low contrast between links and background in dark mode (see images 1 and 2).
I guess it is due to lack of :where() support on Safari <14.
Why is MediaWiki still supporting a 7 year old browser, Safari 11.1, in Grade A (Modern) layer? Do we plan to fix these bugs in the older versions of Safari (11.1-13)? Xeverything11 (talk) 17:59, 12 July 2025 (UTC)
- @Xeverything11: Yes, software has bugs. This document is not claiming that the bugs don't exist, but that our policy is that if you file bugs for these browsers they will generally get fixed or worked around. Have you filed this? Jdforrester (WMF) (talk) 14:03, 14 July 2025 (UTC)
Cool New Things in JS + CSS
[edit]How would people feel about linking this presentation somewhere in Compatibility#Browsers, so people can see at glance a (partial) list of features which are available in supported browsers, without having to check Can I use… and compare the compatible versions against our Grade A list? Lucas Werkmeister (WMDE) (talk) 14:07, 2 May 2026 (UTC)