Совместимость

This page is a translated version of the page Compatibility and the translation is 57% complete.
Outdated translations are marked like this.

MediaWiki стремится поддерживать значительную совместимость между версиями, а также с рядом современных и устаревших программ. В то же время, постоянно развивающаяся кодовая база и возможности последних разработок MediaWiki означают, что невозможно поддерживать совместимость с устаревшим программным обеспечением бесконечно.

Если вы хотите предложить изменения в поддерживаемых MediaWiki возможностях, вы можете подать запрос на комментарий на Phabricator.

Серверное программное обеспечение

В этом разделе представлен обзор программного обеспечения, необходимого на сервере для запуска MediaWiki.

PHP

Последняя стабильная вветвь MediaWiki (1.41) работает на PHP 7.4.3 и выше.

О предстоящих версиях см. в разделе Support policy for PHP .

Поддержка HHVM была прекращена в MediaWiki 1.34. Настоятельно рекомендуем вам не использовать его.

Производственные серверы Wikimedia и непрерывная интеграция в настоящее время работают на PHP 7.4, и планирует обновление до PHP 8.1 в ближайшее время. Разработчикам MediaWiki рекомендуется использовать PHP 8.1, а изобраение MediaWiki Docker использует PHP 8.1.

If your OS distribution has an unsupported version of PHP, you may be able to use a community package repository:

MediaWiki несовместима с версиями PHP 7.4.0 - 7.4.2 из-за ошибки в самом PHP. Вместо этого используйте PHP 7.4.3+. См. задача T246594 для более детальной информации.
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 master
 8.2.0+
 8.1.0+
 8.0.0+ 
 7.4.3+ 
 7.3.19+ 
 7.2.x 
 7.1.x 
 7.0.x 
 5.6.x 
 5.5.9+ 
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 master
 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 master

База данных

MediaWiki совместим с различными серверами баз данных. Однако рекомендуется использовать MySQL или MariaDB.

Использование любого другого программного обеспечения базы данных не рекомендуется для производственного использования. Поддержка отличается от версии к версии MediaWiki и варьируется от сомнительной до стабильной. MediaWiki предоставляет уровни абстракции базы данных для PostgreSQL и SQLite, которые, как правило, хорошо поддерживаются.

Начиная с Версии 1.36, MediaWiki обязуется поддерживать только обновления двух последних LTS-выпусков (см. phab:T259771). Обновление старых версий MediaWiki должно выполняться в несколько этапов. Это означает, что если вы хотите перейти на 1.41 с 1.34 или раньше, вам сначала нужно будет обновить свою вики 1.34 до 1.35 (или 1.39), и с 1.35 (или 1.39), вы сможете обновиться на 1.41.
Начиная с 1.34 , мы больше не поддерживаем использование Oracle и Microsoft SQL Server .
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 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.8.0+
 SQLite 3.3.7+ 
 SQLite 3+ 
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 master
 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 master

Обновление

Начиная с Версии 1.36, MediaWiki обязуется поддерживать только обновления двух последних LTS-выпусков (см. phab:T259771). Обновление старых версий MediaWiki должно выполняться в несколько этапов. Это означает, что если вы хотите перейти на 1.41 с 1.34 или раньше, вам сначала нужно будет обновить свою вики 1.34 до 1.35 (или 1.39), и с 1.35 (или 1.39), вы сможете обновиться на 1.41.

Web-сервер

MediaWiki хорошо совместим со всеми основными веб-серверами, которые могут вызывать совместимую версию PHP. Apache - наиболее используемый и протестированный. Nginx также является хорошим выбором.

Расширения MediaWiki

До тех пор, пока расширение поддерживается должным образом (что можно увидеть в верхней части инфобокса на его странице описания), главная ветвь расширения должна быть совместима с главной ветвью MediaWiki. Для определения совместимости со старыми версиями MediaWiki существуют две общие политики, используемые расширениями:

  • master (ключ: master): мастер-ветвь совместима как с текущей, так и со старыми версиями MediaWiki.

Хаки обратной совместимости добавляются в исходный код расширения по мере необходимости.

  • ветви релиза (ключ: rel): Для каждого релиза MediaWiki существует соответствующая ветвь в расширении.

Поэтому например, если вы используете MediaWiki 1.41, вам следует использовать ветвь расширения REL1_41.

Поэтому например, если вы используете MediaWiki 1.39, вам следует использовать ветвь расширения REL1_39. Если вы используете не-LTS версию MediaWiki, обычно вам нужно использовать ветку расширения для предыдущей LTS версии. Например, вики MediaWiki 1.34, использующие расширение ltsrel, обычно используют ветвь этого расширения REL1_31. Однако совместимость не гарантируется.

Поле политика совместимости инфоблока Extension сообщает, какая политика используется данным расширением. Для указания информации используйте соответствующие ключи, указанные выше.

Некоторые расширения могут иметь более специфические политики совместимости, например:

Браузеры

Общая информация

Every web page starts in Basic mode, where only the HTML is rendered. CSS can be assumed to succeed for visual readers and should be used for presentation. The Modern layer 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 to MediaWiki Engineering guidelines.

Они определяются с помощью набора тестов функций в модуле startup. The modern layer currently requires JavaScript version ES6 (ES2015). For MediaWiki developers, this means that you should not use syntax from later versions of JavaScript. This is enforced through ESLint rules in eslint-config-wikimedia.

В мире постоянно растёт число различных веб-браузеров. Слишком много, чтобы активно тестировать и поддерживать каждый из них. Для контроля наших практик поддержки браузеров, у нас существуют три уровня поддержки. Каждый уровень представляет отдельную категорию браузеров.

На практике единственное различие между Неизвестными и базовыми (уровень C) браузерами заключается в том, что мы не проводим активного тестирования относительно неизвестных браузеров. All browsers receive the same server responses, and will try to load the Modern layer if it passes the required JavaScript capabilities.

Современный (Класс A)

Эта группа представляет собой "наивысший уровень поддержки" (также известный как "класс А"). Функции используют возможности современных браузеров, обеспечивая при этом изящный откат для старых браузеров. Все функции, предоставляемые программным обеспечением (в ухудшенной форме или нет), должны работать в этих браузерах.

Браузеры в этой категории известны (перечислены ниже) и активно тестируются на предмет проблем. Проблемы, с которыми сталкиваются пользователи этих браузеров, решаются с высоким приоритетом.

Базовый (Класс С)

Этой группе предоставляется основная функциональность платформы MediaWiki (также известная как Класс C). Наши HTTP-ответы совместимы с этими браузерами (например HTTP-функции, на которые мы полагаемся, кодировка символов и форматы изображений, используемые в контенте; должны работать в этих браузерах). Во внешнем интерфейсе это означает, что контент представлен в удобочитаемом виде, и можно выполнять действия с контентом и учетной записью, но функции JavaScript могут работать, а могут и не работать.

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.

Неизвестные (Класс X)

Эта группа представляет все остальные браузеры (также известные как Класс X). К ним относятся:

MediaWiki работает с этими браузерами так же, как и с современными браузеры (уровень A) и базовые (уровень C): фильтр пользовательского агента отсутствует, поэтому эти браузеры получают функции JavaScript, если они проходят набор тестов функций в модуле запуска. Этот принцип обеспечивает различные важные преимущества:

Browsers not included in any other group belong to this category, including:

  • * Пользователи менее популярных браузеров, основанных на известных современных браузерах или производных от них, не испытывают негативного воздействия (например Samsung Internet, UC Browser, Vivaldi, and Iceweasel).
  • * Новые или неподдерживаемые версии современных браузеров могут временно считаться Неизвестными, если они еще не протестированы нами. Отношение к неизвестным браузерам как к работоспособным обеспечивает оптимальную работу пользователей в этих браузерах.
  • Браузеры или версии браузеров, которые больше не разрабатываются и не поддерживаются, и несовместимы с современными стандартами Интернета; MediaWiki может отказаться от их поддержки. These might receive the "Basic" mode, or might be unable to even connect to the web server.
  • Пользователи новых и развивающихся браузеров получают возможность получить современный опыт.

Браузеры недостаточно популярны, чтобы оправдать дополнительные затраты на разработку программного обеспечения; проблемы, которые пользователи испытывают только в этих браузерах, получают "низкий приоритет".

Матрица поддержки браузеров

Desktop

Описанные выше принципы и различные оценки применимы как к ядру MediaWiki, так и к расширениям. Приведенная ниже матрица поддержки применяет эти оценки в контексте ядра MediaWiki, инфраструктуры Фонда Викимедиа и любых расширений MediaWiki, которые решат следовать ей. Отдельные расширения могут иметь свою собственную матрицу поддержки, распределяющую браузеры между различными уровнями поддержки. См. также Панель мониторинга использования браузеров.

Browser support matrix по состоянию на май 2024 п · о · р
Browsers Chrome Edge Firefox Safari iOS Android
Modern (Grade A) Last three years' versions (2021) 11.1+ (2018) 11.3+ (2018) 5+ (2014)
Basic (Grade C) 49+ (2016) 79+ (2020) 49+ (2016) 10+ (2016) 10+ (2016) 5+ (2014)[note 1]
Unknown (Grade X) All other browsers
Practical implications по состоянию на май 2024
Platform Minimum OS or device Supported modern browser
Android Moto G (1st generation) (2013)
Google Nexus 4 (2012)
Android 5.1, Chrome 91-95
Samsung Galaxy S5 (2014) Android 6.0, Chrome 91-106
iOS iPhone 5s (2013) iOS Mobile Safari 11.3 - 12 (2018-2023)[note 2]
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 91-103
macOS 10.13 High Sierra (2017-2020) Safari 11.1-13, Firefox 115 ESR, Chrome 91-116
macOS 10.15 Catalina (2019-2022) Safari 13-15, current Firefox, Chrome 91 to current
Windows Windows 7 (2009-2020) Edge 91-109, Firefox 115 ESR, Chrome 91-109

List of changes, most recent first:

  • 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


The Wikimedia Foundation also provides an up-to-date browserslist config reflecting the support matrix.

Мобильный

Веб-команда Фонда Викимедиа применяет более узкую матрицу поддержки для мобильных тем оформления например. Minerva и/или расширений, разработанных только для работы на мобильных устройствах например MobileFrontend . Матрица поддержки составляется на основе данных, предоставляемых аналитическая панель разбивки пользовательских агентов. Там, где использование браузера превышает 5%, поддерживается современный опыт (Класс A). Базовая поддержка (Класс С) предоставляется при превышении 0,1% в течение предыдущих 12 месяцев. В мобильной версии мы стремимся обеспечить Класс B. Пользователи Класса B могут получить или не получить JavaScript, и мы не тестируем его на том же уровне, что и A, поэтому приоритет исправления ошибок ниже. Список современных поддерживаемых браузеров на MobileFrontend определяется в файле .browserlistsrc.

Все, что отсутствует в списке или старше, считается браузером с базовой поддержкой.

Смотрите также

Примечания

  1. 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).
  2. iOS 11 dropped support for iPhone 5 and older devices

Ссылки