MediaWiki strives to maintain broadcompatibility 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 comments onPhabricator (Help).
These sections provide an overview of the software required on the server to run MediaWiki.
The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher.
For upcoming versions, seeSupport policy for PHP.
Wikimedia production servers currently run PHP 8.1.MediaWiki core's automated test suite uses PHP8.1 when a patch is created, and PHP8.1, 8.2, 8.3 when merging.MediaWiki developers are encouraged to develop using the latest supported version of PHP. TheMediaWiki Docker image, primarily used by developers, uses PHP 8.3 as of December 2024.
If your OS distribution has an unsupported version of PHP, you may be able to use a community package repository:
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 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8.3.0+ | ||||||||||||||||||||||||||||||||||||||||||||
8.2.0+ | ||||||||||||||||||||||||||||||||||||||||||||
8.1.0+ | ||||||||||||||||||||||||||||||||||||||||||||
8.0.0+ | ||||||||||||||||||||||||||||||||||||||||||||
7.4.3+ | ||||||||||||||||||||||||||||||||||||||||||||
7.3.19+ | ||||||||||||||||||||||||||||||||||||||||||||
7.2.x | ||||||||||||||||||||||||||||||||||||||||||||
7.1.x | ||||||||||||||||||||||||||||||||||||||||||||
7.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 | master |
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 | master |
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.
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 | master |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MariaDB 10.3.0+ | ||||||||||||||||||||||||||||||||||||||||||||
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+ | ||||||||||||||||||||||||||||||||||||||||||||
SQLite 3.3.7+ | ||||||||||||||||||||||||||||||||||||||||||||
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 | master |
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 | master |
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 anextension orskin is properly maintained, the master branch of the extension or skin 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 and skins:
Thecompatibility policy field of theExtension info box 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:
Every web page starts inBasic mode, where only the HTML is rendered. CSS can be assumed to succeed for visual readers and should be used for presentation.TheModern layer (subdivided into support grades A, C, and X) defines optional enhancements and interactions written in client-side JavaScript.This layer may fail to load, arrive later, or not at all, including in modern browsers.This depends on various circumstances.To learn more, refer toMediaWiki Engineering guidelines.
The JavaScript requirements for the "Modern" layer are implemented via a feature test in thestartup module, inspired by the "cutting the mustard" approach.[1]The modern layer currently requires the browser to implement JavaScript versionES2017 or later.[1]MediaWiki developers should only use JavaScript syntax and Web APIs supported in the Grade A browsers listed below.This is enforced through ESLint rules ineslint-config-wikimedia.
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 support grades.Each grade represents a different category of browsers.
In practice, the only difference between browser grades is our investment in testing and support.All browsers receive the same server responses and will try to load the Modern layer if they pass our JavaScript feature test.
Grade A browsers receive thehighest level of support. MediaWiki takes advantage of capabilities in modern browsers while allowing a graceful fallback for older browsers. New features developed 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 withhigh priority.
Grade C browsers must receive 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; must work in these browsers).In the front end, this means content is presented in a readable manner, and all page and account actions are discoverable and work, but optional JavaScript enhancements may be absent.For browsers that don't pass the feature test (mentionedabove), JavaScript enhancements are not loaded on top.
Browsers in this category are known (listed below), and arerarely tested against. Problems users perceive in these browsers are addressed withhigh priority. However, mitigation may focus on ensuring that available functionality is not broken; if acceptable from a product perspective, this may result in an affected enhancement being skipped (whether or not temporarily) rather than restored in these browsers.
All other browsers are referred to as "Grade X".
MediaWiki handles these browsers the same as Grade A and Grade C browsers: there is no user agent filter, and if they pass the feature test for the "Modern" layer, they receive JavaScript enhancements.
Browsers not included in any other group belong to this category, including:
This principle means users of new and evolving browsers are given a chance to have a modern experience.
These browsers are not common enough to justify the added maintenance cost for software development and are essentiallynever tested. Problems users perceive in these browsers are givenlow priority.
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 alsoBrowser usage breakdown dashboard.
Browsers | Chrome | Edge | Firefox | Safari | iOS | Android[note 1] | |||
---|---|---|---|---|---|---|---|---|---|
Modern(Grade A) | Last three years' versions(2022) | 11.1+(2018) | 11.3+(2018) | 6+(2015)[note 2] | |||||
Basic (Grade C) | 49+(2016) | 79+(2020) | 49+(2016) | 10+(2016) | 10+(2016) | 5+(2014)[note 3] | |||
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, Firefox (current) |
Samsung Galaxy S5 (2014) Google Nexus 5 (2013) Moto G (2nd generation) (2014) | Android 6.0, Chrome 106 (2022), Firefox (current) | |
iOS | iPhone 5s (2013) | iOS Mobile Safari 11.3 - 12 (2018-2023)[note 4] |
Linux | Debian 10 Buster (2019) | firefox-esr 102 |
Ubuntu 18.04 LTS (2018) | firefox (current),chromium-browser (current) | |
macOS | OS X 10.11 El Capitan (2015-2018) | Safari 11.1, Chrome 103 (2022) |
macOS 10.13 High Sierra (2017-2020) | Safari 13, Firefox 115 ESR, Chrome 116 | |
macOS 10.15 Catalina (2019-2022) | Safari 15, current Firefox, Chrome 128 | |
macOS 11 Big Sur (2020-2023) | Safari 16, current Firefox, current Chrome | |
Windows | Windows 7 (2009-2020) | Edge 109, Firefox 115 ESR, Chrome 109 |
List of changes, most recent first:
The Wikimedia Foundation alsoprovides an up-to-date browserslist config reflecting the support matrix.
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 theanalytics 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 prioritise bug fixes lower.Modern support browser list on MobileFrontend is defined in.browserlistsrc
file.
Anything absent in the list or older is considered a basic supported browser.