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.
These sections provide an overview of the software required on the server to run MediaWiki.
The latest stable branch of MediaWiki (1.40) runs on PHP 7.4.3 and higher.
For upcoming versions, see Support policy for PHP.
HHVM support was dropped in MediaWiki 1.34. You are strongly advised against using it.
Wikimedia production servers and continuous integration currently run PHP 7.4, with plans to upgrade to PHP 8.1 soon. MediaWiki developers are encouraged to develop using PHP 8.1, and the MediaWiki Docker image uses PHP 8.1.
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.
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.
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 the following 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.40, you should use the REL1_40 branch of the extension.
So e.g. if you use MediaWiki 1.39, you should use the REL1_39 branch of the extension. If you use a non-LTS version of MediaWiki, usually you will need to use the extension's branch for the previous LTS version. For instance, MediaWiki 1.34 wikis using a ltsrel extension would usually use the REL1_31 branch of that extension. However, there is no guarantee of compatibility.
Some extensions may have more specific compatibility policies, for instance:
There is an ever-growing number of different web browsers and browser-capable devices in the world. Too many to actively test and support each one. To guide our practices around browser support, we define three grades of support. Each grade represents a different category of browsers.
Grade A browsers recieve the highest level of support. MediaWiki takes advantage of capabilities in modern browsers, while allowing a graceful fallback for older browsers. New features developed for MediaWiki must work in these browsers (whether or not in a degraded form).
Browsers in this category are known (listed below), actively tested against, and meet the requirements for the "Modern" layer. Problems users perceive in these browsers are addressed with high priority.
Browsers in this category are known (listed below), and are rarely tested against. Problems users perceive in these browsers are addressed with high priority. However, mitigation may focus on ensuring that available functionality is not broken; if acceptable from a product perspective, this may result in the affected enhancement being disabled (whether or not temporarily) rather than restored in these browsers.
All other browsers are referred to as "Grade X".
Browsers not included in any other group belong to this category, including:
- Less popular browsers that are based on, or derived from, known modern browsers (e.g. Samsung Internet, UC Browser, Vivaldi, and Iceweasel).
- Beta versions of modern browsers. These are considered Grade X if they are not yet tested against by us. Treating these as capable ensures optimal user experience in these browsers, and facilitates upstream testing.
- Browsers or browser versions that are no longer developed or maintained, and incompatible with modern Internet standards. These might receive the "Basic" mode, or might be unable to even connect to the web server.
This principle users of new and evolving browsers are given a chance to have a modern experience.
These browsers not common enough to justify the added maintenance cost for software development and are essentially never tested. Problems users perceive in these browsers only are given low priority.
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.
|Browsers||Chrome||Opera||Edge||Edge Legacy||Firefox||Internet Explorer||Safari||iOS||Android|
|Modern (Grade A)||Last three years' versions (2020)||None||Last three years' versions (2020)||None||11.1+ (2018)||11.3+ (2018)||5+ (2014)|
|Basic (Grade C)||31+ (2013)||18+ (2013)||79+ (2020)||12+ (2015)||39+ (2014)||11 (2013)||9.1+ (2015)||9+ (2015)||5+ (2014)[note 1]|
|Unknown (Grade X)||All other browsers|
|Platform||Minimum OS or device||Supported modern browser|
|Android||Moto G (1st generation) (2013)
Google Nexus 4 (2012)
|Android 5.1, Chrome 84+|
|Samsung Galaxy S5 (2014)||Android 6.0, Chrome 84+|
|iOS||iPhone 5s (2013)||iOS Mobile Safari 11.3 - 12 (2018-2023)[note 2]|
|Linux||Debian 10 Buster (2019)||firefox-esr 102, chromium 90|
|Ubuntu 18.04 LTS (2018)||firefox (current), chromium-browser (current)|
|macOS||OS X 10.9 Mavericks (2013-2016)||Firefox 78 ESR (2020). The default Safari 7 is unsupported.|
|macOS 10.13 High Sierra (2017-2020)||Safari 11.1, current Firefox, Chrome 84+|
|macOS 10.15 Catalina (2019-2022)||Safari 13.1, current Firefox, Chrome 84+|
|Windows||Windows 7 (2009-2020)||Edge 84+, current Firefox, Chrome 84+|
List of changes, most recent first:
- 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
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.
Modern support browser list on MobileFrontend is defined in
Anything absent in the list or older is considered a basic supported browser.
- Version lifecycle of MediaWiki versions
- MediaWiki - compatibility error note (example)
- wikitech:HTTPS/Browser Recommendations
- Note this refers to the stock Android browser. For Chrome for Android, provided that you're running Chrome 31+, it requires Android 4.0+(2011).
- iOS 11 dropped support for iPhone 5 and older devices