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.
Software marked in blue is supported while software marked in orange is not supported.
|Warning:||HHVM support was dropped in MediaWiki 1.34. You are strongly advised against using it.|
|Warning:||MediaWiki is not compatible with PHP 7.4.0 to 7.4.2 due to an upstream bug. See task T246594 for more information.|
The latest stable branch of MediaWiki (1.34) runs on any version of PHP 7.2.9 to PHP 7.3. MediaWiki 1.34 requires PHP 7.2.9+.
For upcoming versions, see Support policy for PHP.
|Warning:||Since MediaWiki 1.34, we no longer support using Oracle and Microsoft SQL Server. We strongly advise to no longer to use these.|
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 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.34, you should use the REL1_34 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.
Some extensions may have more specific compatibility policies, for instance:
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)
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.
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.
(Last updated: July 2020)
|Browsers:||Chrome||Firefox||Opera||Edge||Edge Legacy||Internet Explorer||Safari||iOS||Android|
|Modern (grade A)||Current and previous version||None||11+||5.1+||6.1+||4.1+|
|Basic (grade C)||1+ (2008)||3.0+ (2008)||15.0+ (2013)||79+ (2020)||12+(2015)||9+ (2011)||3.0+ (2007)||5.0+ (2011)||3.0+ (2011)|
|Unknown (grade X)||All other browsers|
Grade A browser list on MobileFrontend is defined in .browserlistsrc file.
Anything absent in the list or older is considered a Grade C browser.
- As of MediaWiki 1.35, Basic support for Internet Explorer 6 and 7 has stopped. T232563
- As of MediaWiki 1.36, Basic support for Internet Explorer 8 has stopped. T248061
- As of MediaWiki 1.35, Basic support for Android 2 has stopped. T249788