Compatibility

From MediaWiki.org
Jump to: navigation, search
Translate this page; This page contains changes which are not marked for translation.

Other languages:
български • ‎català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎magyar • ‎italiano • ‎日本語 • ‎Lëtzebuergesch • ‎नेपाली • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎中文

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.

Browsers[edit]

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[edit]

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[edit]

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.

Browsers in this category are known (listed below) and identified via a blacklist in the startup module. Problems users perceive in these browsers are addressed with high priority. Issue handling focuses mainly on ensuring provided functionality is not broken; if acceptable from a product perspective, this may result in the functionality (whether or not temporarily) no longer being provided for these browsers.

MediaWiki may serve these browsers a JavaScript-less environment. The environment may lack certain visual features and extra functionality. The core functionality for these browsers must be maintained via traditional client-server interaction with full GET/POST page loads.

Unknown[edit]

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.

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

  • New 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.

Browser support matrix[edit]

While the principles and different grades described above apply to MediaWiki core and extensions alike, the below browser support matrix applies to MediaWiki core only (and extensions that decide to follow it). Individual extensions may have their own support matrix distributing browsers among the different levels of support.

Browsers: Chrome Internet Explorer Firefox Safari Opera iOS Android
Modern Current and previous version 10+[1][2][3] Current and previous version 5.1+ 12.10+ 6.1+ 4.1+
Basic 1+ 6+ 3.0+ 3.0+ 10.0+ 5.0+ 2.0+
Unknown All other browsers

Browser support matrix (mobile)[edit]

(Last updated: March 2017)

Mobile-specific skins e.g. Minerva skin provided by MobileFrontend and/or extensions designed to run on mobile devices have a different support matrix. 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 is supported. Basic support is provided for anything over 0.1% over the 12 months. In mobile we strive to provide a Grade B. Users of grade may or may not get JavaScript and we do not test to the same level as A, thus we prioritize bug fixes lower.

OS iOS Android Windows Blackberry
Modern (>5% usage) 8+ 4.0+
Basic 7 2 8 *
Unknown All other browsers
Browser Mobile Safari Chrome Chrome Android Opera Mini IE Mobile UC Browser Firefox Amazon Silk Blackberry
Modern (Grade A) 8+ 48+ 43+ 4.1+
Modern (Grade B) 30-48 2 10+ 44+
Basic (Grade C) 5 4+ 10+ 48+ 7+
Unknown All other browsers

Software required to run MediaWiki[edit]

PHP[edit]

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 master
  7.1.x
  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  
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 master
  5.0.x  
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 master

The latest stable branch of MediaWiki (1.28) runs on any version of PHP 5.5.9 to PHP 7. Please note that MediaWiki is not yet fully compatible with PHP 7.1, and will emit warnings, but most functionality should work as expected. The Wikimedia Foundation runs MediaWiki on HHVM. Features that are not used on Wikimedia wikis might not work correctly on HHVM.

MediaWiki 1.27 will continue to receive security updates until their respective end-of-life dates (see version lifecycle) and retain compatibility with their respective versions of PHP.


Database[edit]

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 master
  MySQL 5.xManual:MySQL
MySQL 4.x  
MySQL 3.x  
  SQLite 3+Manual:SQLite
  PostgreSQL 8.3+Manual:PostgreSQL
  PostgreSQL 8.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 master

MediaWiki is compatible with a variety of database servers, although support is strongest for MySQL. (MariaDB can also be used.)

Support for any other database software ranges from dubious to stable. MediaWiki provides database abstraction layers for PostgreSQL and SQLite, which are generally well-maintained. The included abstraction layers for Oracle and Microsoft SQL Server are essentially unmaintained and are unlikely to work out of the box. Running MediaWiki on anything other than MySQL or MariaDB is not recommended for production use at this point.

Web server[edit]

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

MediaWiki extensions[edit]

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.27 (REL1_27), you should use the REL1_27 branch of the extension.

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

Notes[edit]

  • Software marked in blue is supported while software marked in orange is not supported.
  1. As of MediaWiki 1.29, JavaScript for Internet Explorer 9 has been disabled along with other non-ES5 browsers. T128115 [1]
  2. As of MediaWiki 1.27, JavaScript for Internet Explorer 8 has been disabled [2], gerrit:252383
  3. As of MediaWiki 1.24, JavaScript support for Microsoft Internet Explorer 6 and 7 has been disabled. These browsers are outdated and unsupported, and contain several unpatched security vulnerabilities – see reports for IE6 and IE7. Use of IE6 in particular is strongly discouraged by Microsoft.[3] [4] [5]

See also[edit]