Jump to content

Compatibility: Difference between revisions

From mediawiki.org
Content deleted Content added
mNo edit summary
Hazard-SJ (talk | contribs)
m fix typo, add punctuation, and change wording
Line 121: Line 121:


<!--T:39-->
<!--T:39-->
The group (also known as '''Grade C''') is provided the core functionality of the MediaWiki platform. Our HTTP responses are compatible with these browsers (''e.g.'' HTTP features we rely on, character encoding, and image formats used by the content; must work in these browsers). In the front-end this means content is presented in a readable manner, and to some extent user actions can be performed, but these browsers do not get JavaScript features.
This group (also known as '''Grade C''') is provided the core functionality of the MediaWiki platform. Our HTTP responses are compatible with these browsers (''e.g.'' HTTP features we rely on, character encoding, and image formats used by the content; must work in these browsers). In the front-end this means content is presented in a readable manner, and to some extent user actions can be performed, but these browsers do not get JavaScript features.


<!--T:54-->
<!--T:54-->
Line 175: Line 175:
<translate>
<translate>
<!--T:139-->
<!--T:139-->
Where browser usage is over 5% a modern experience (Grade A) is supported.</translate>
Where browser usage is over 5%, a modern experience (Grade A) is supported.</translate>
<translate>
<translate>
<!--T:140-->
<!--T:140-->
Basic support (Grade C) is provided for anything over 0.1% over the 12 months.</translate>
Basic support (Grade C) is provided for anything over 0.1% during the previous 12 months.</translate>
<translate>
<translate>
<!--T:141-->
<!--T:141-->

Revision as of 04:06, 12 October 2020

MediaWiki strives to maintain broad compatibility between versions, and with a range of current and legacy software. At the same time, the constantly-evolving codebase and features of the latest MediaWiki development mean that it is not possible to maintain compatibility with legacy software indefinitely.

If you wish to suggest a change to what MediaWiki supports, you can file a request for comment on Phabricator.

Server software

These sections provide an overview of the software required on the server to run MediaWiki.

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

PHP

PHP version compatibility matrix with MediaWiki
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
 8.5.0+
 8.4.0+
 8.3.0+
 8.2.0+ 
 8.1.0+ 
 8.0.0+ 
 7.4.3+ 
 7.3.19+ 
 7.2.x 
 7.1.x 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
 7.0.x 
 5.6.x 
 5.5.9+ 
 5.5.0–5.5.8 
 5.4.x 
 5.3.3+ 
 5.3.2 
 5.2.3+ 
 5.1.x 
 5.0.x 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
Warning Warning: HHVM support was dropped in MediaWiki 1.34. You are strongly advised against using it.
MediaWiki is not compatible with PHP 7.4.0 - 7.4.2 due to an upstream bug. Use PHP 7.4.3+ instead. See T246594 for more information.

The latest stable branch of MediaWiki (1.46) runs on any version of PHP 8.3.0 or later. MediaWiki 1.34 requires PHP 7.2.9+.

For upcoming versions, see Support policy for PHP .

Database

Database compatibility matrix with MediaWiki
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
 MariaDB 10.11.0+
 MariaDB 10.3.0+[a] 
 MariaDB 10.1.0+ 
 MySQL 5.7.0+
 MySQL 5.5.8+ 
 MySQL 5.0.3+ 
MySQL 4.x 
MySQL 3.x 
 SQLite 3.24.0+
 SQLite 3.8.0+ 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
 SQLite 3.3.7+ 
 SQLite 3+ 
 PostgreSQL 10+
 Postgres 9.4+ 
 Postgres 9.2+ 
 Postgres 8.3+ 
 Postgres 8.1 
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 master
  1. MariaDB 12.0.0+ was for a while unsupported due to T401570: MW cannot install because MariaDB 12.x reports read_only as "OFF". This was fixed in 1.45.0, and also back-ported to 1.39.14+, 1.43.4+, and 1.44.1+
MediaWiki no longer supports using Oracle or Microsoft SQL Server as of version 1.34 .

MediaWiki is compatible with a variety of database servers. Using MySQL or MariaDB is recommended.

Using any other database software is not recommended for production use. Support differs from MediaWiki version to MediaWiki version and ranges from dubious to stable. MediaWiki provides database abstraction layers for PostgreSQL and SQLite, which are generally well-maintained.

Web server

MediaWiki is broadly compatible with all major web servers that can invoke a compatible version of PHP. Apache is the most used and tested. Nginx is a good choice as well.

MediaWiki extensions

As long as an extension is properly maintained (which you can see at the top of the infobox on its description page), the master branch of the extension should be compatible with the master branch of MediaWiki. For determining compatibility with older MediaWiki versions, there are two common policies used by extensions:

  • master (key: master): the master branch of the extension is compatible with both current and older versions of MediaWiki. Back-compatibility hacks are added to the extension source code as needed.
  • release branches (key: rel): For every MediaWiki release, there is a corresponding branch in the extension. So e.g. if you use MediaWiki 1.46, you should use the REL1_46 branch of the extension.
  • long-term support release branches (key: ltsrel): For every MediaWiki release, there is a corresponding branch in the extension, following the Version lifecycle release policy.

The compatibility policy field of the {{Extension }} infobox tells which policy is used by a given extension. Use the respective keys indicated above to specify the information.

Some extensions may have more specific compatibility policies, for instance:

Browsers

General information

There is an ever-growing number of different web browsers in the world.

Too many to actively test and support each one. To guide our practices around browser support, we have three levels of support. Each tier represents a different category of browsers.

Modern (Grade A)

This group (also known as Grade A) represents the highest level of support. Features take advantage of capabilities in modern browsers, while allowing a graceful fallback for older browsers. All features provided by the software (whether or not in a degraded form) must work in these browsers.

Browsers in this category are known (listed below) and actively tested against. Problems users perceive in these browsers are addressed with high priority.

Basic (Grade C)

This group (also known as Grade C) is provided the core functionality of the MediaWiki platform. Our HTTP responses are compatible with these browsers (e.g. HTTP features we rely on, character encoding, and image formats used by the content; must work in these browsers). In the front-end this means content is presented in a readable manner, and to some extent user actions can be performed, but these browsers do not get JavaScript features.

Browsers in this category are known (listed below) and identified via a feature test suite and a blacklist in the startup module.

Unknown (Grade X)

This group (also known as Grade X) represents all other browsers. This includes browsers that are no longer developed or browsers not popular enough to justify the added maintenance cost for software development.

Browsers not included in any other group belong to this category.

Problems users perceive in these browsers only are given low priority, or not supported at all.

MediaWiki handles these browsers the same as Modern (Grade A) browsers and they are thus assumed to be capable. This principle provides various important benefits:

  • New or unsupported versions of modern browsers may temporarily be considered Unknown if they are not yet tested against by us. Treating Unknown browsers as capable ensures optimal user experience in these browsers.
  • Users of new and evolving browsers are given a chance to have a modern experience.
  • Users of less popular browsers based on, or derived from, known modern browsers are not negatively impacted (e.g. Iceweasel).

In practice the only difference between Unknown and Modern browsers is that we don't actively test against Unknown browsers.

These browsers are given the full feature set, which means HTTP, HTML, CSS and JS feature may or may not be compatible with these browsers, and may or may not be affected by measures (e.g. fallback CSS for newer CSS features) intended for Grade C browsers. In particular, JavaScript will be disabled if no support for features MediaWiki uses is found.

Browser support matrix

The principles and different grades described above apply to MediaWiki core and extensions alike. The support matrix below applies these grades in the context of MediaWiki core, Wikimedia Foundation infrastructure, and any MediaWiki extensions that decide to follow it. Individual extensions may have their own support matrix distributing browsers among the different levels of support. See also Browser usage breakdown dashboard.

Browser support matrix as of August 2026 v · d · e
Browsers Chrome Edge Firefox Safari iOS Android[note 1]
Modern (Grade A) Last three years' versions (2023) 12.1+ (2019) 12.2+ (2019) 6+ (2015) / Chrome 106 (2022)[note 2]
Basic (Grade C) 49+ (2016) 79+ (2020) 49+ (2016) 10+ (2016) 10+ (2016) 5+ (2014) / Chrome 95 (2021)[note 3]
Unknown (Grade X) All other browsers
Practical implications as of August 2026
Platform Minimum OS or device Supported modern browser
Android Moto G (1st generation) (2013)
Google Nexus 4 (2012)
Android 5.1, Firefox 143 (2025)
Samsung Galaxy S5 (2014)
Google Nexus 5 (2013)
Moto G (2nd generation) (2014)
Android 6.0, Chrome 106 (2022), Firefox 143 (2025)
iOS iPhone 5s (2013) Mobile Safari on iOS 12 (2019–2026)[note 4]
Linux 32-bit x86 distros Firefox 140 (2025)
Debian 10 Buster (2019–2022) Firefox 115 (2023)[note 5]
Debian 11 Bullseye (2021–2026) Firefox 140 (2025)[note 6]
Ubuntu 18.04 LTS (2018–2023) current Firefox[note 7], current Chromium[note 8]
Ubuntu 20.04 LTS (2020–2025) current Firefox[note 7], current Chromium[note 8]
macOS[note 9] MacBook Air (2008) OS X 10.11 (2015–2018), Firefox 115 (2023), Chrome 116[note 1]
iMac (Mid-2007)
MacBook Air (2010) macOS 10.13 (2017–2020), Safari 13, Firefox 115 (2023), Chrome 116[note 1]
iMac (Late-2009)
MacBook Air (2012) macOS 10.15 (2019–2022), Safari 15, current Firefox, Chrome 128[note 1]
iMac (Late-2012)
MacBook Air (2013) macOS 11 (2020–2023), Safari 16, current Firefox, Chrome 138[note 1]
iMac (Mid-2014)
iMac (Late-2015) macOS 12 (2021–2024), Safari 17, current Firefox, Chrome 150[note 1]
MacBook Air (2018) macOS 13 (2022–2025), Safari 18, current Firefox, current Chrome[note 1]
iMac (2017)
Windows Windows 7 (2009–2020) Edge 109, Firefox 115, Chrome 109

List of changes, most recent first:

  • As of MediaWiki 1.47 , Modern support is removed for Safari 11 on macOS and iOS. T395347
  • As of MediaWiki 1.43 , Basic support is removed for Internet Explorer 11 (IE 11), Edge 12–18, Chrome 31–48, Firefox 39–48, Safari 9 on macOS and iOS, and Opera. Chromium versions of Opera will probably see exactly the same experience as before. T288287
  • As of 2023, the support targets have been re-stated; for Chrome and Chrome-based browsers, this is now the last three years' versions (covering three years rather than three months); for Firefox, this is now the current and previous LTS versions (reaching approximately the same time range). T178356
  • As of MediaWiki 1.41 , Modern support is removed for Internet Explorer 11, macOS and iOS Safari 9–10, and Firefox 39–53. T178356
  • As of MediaWiki 1.39 , Basic support is removed for Internet Explorer 9–10, Firefox 27–38, and Android 4.3–4.4 T293298, T297313, T290815
  • As of MediaWiki 1.36 , Basic support is removed for Firefox 3–26, Internet Explorer 8, Safari 3–8, iOS (Safari) 5–8, Android 3.0–4.2, Chrome 1–30, and Opera 15–18. T248061, T262946, T266866
  • As of MediaWiki 1.36 , Modern support is removed for Android 4.1–4.2, iOS 6.1–8, and Safari 5.1–8. T266866
  • As of MediaWiki 1.35 , Basic support is removed for Internet Explorer 6–7 and Android 2. T232563, T249788
  • As of MediaWiki 1.31 , JavaScript for Internet Explorer 10 has been disabled. T187869
  • As of MediaWiki 1.29 , JavaScript for Internet Explorer 9 has been disabled along with other non-ES5 browsers. T128115
  • As of MediaWiki 1.27 , JavaScript for Internet Explorer 8 has been disabled. T118303, Wikitech-ambassadors message
  • As of MediaWiki 1.24 , JavaScript for Internet Explorer 6 and 7 has been disabled. gerrit:152072, gerrit:152128, Wikitech-ambassadors message

Mobile

The Web team at the Wikimedia Foundation applies a narrower support matrix for mobile-specific skins e.g. Minerva and/or extensions designed only to run on mobile devices e.g. MobileFrontend . The support matrix is compiled from the data provided by the analytics user agent breakdown dashboard. Where browser usage is over 5%, a modern experience (Grade A) is supported. Basic support (Grade C) is provided for anything over 0.1% during the previous 12 months. In mobile we strive to provide a Grade B. Users of grade B may or may not get JavaScript and we do not test to the same level as A, thus we prioritize bug fixes lower.

Grade A browser list on MobileFrontend is defined in .browserlistsrc file.

Anything absent in the list or older is considered a Grade C browser.

Notes


See also


Cite error: <ref> tags exist for a group named "note", but no corresponding <references group="note"/> tag was found.