互換性

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

MediaWikiはバージョン間、および現行からレガシーまでの広い範囲のソフトウェアとの間で、互換性を広く保証するよう努めています。同時に、コードベースと最新のMediaWikiの開発は常に進化し続けているため、レガシーなソフトウェアとの間で互換性を無期限に保証することは不可能です。

MediaWikiのサポート対象の変更を提案したい場合は、Phabricatorコメント依頼を立ててください。

サーバーソフトウェア

これら各節に MediaWiki を走らせるサーバに積む必要のあるソフトウェアの概略を示します。

PHP

MediaWiki の最新の安定版ブランチ (1.41) は、PHP 7.4.3 以降で動作します。

今後のバージョン対応は、PHPのサポート方針 をご参照。

HHVM のサポートは MediaWiki 1.34 で廃止されました。 使用しないことを強くお勧めします。

ウィキメディアの本番サーバーと継続的インテグレーションは現在、PHP 7.4 を実行していますが、近々 PHP 8.1 へのアップグレード計画があります。 MediaWiki の開発者は PHP 8.1 を使用して開発することが奨励されており、MediaWiki Docker イメージは PHP 8.1 を使用しています。

OS ディストリビューションが、サポートされていない PHP のバージョンを含んでいる場合は、コミュニティのパッケージ リポジトリを使用できるかもしれません。

MediaWiki は PHP 7.4.0 - 7.4.2 までと互換性がありません (上流のバグのため)。 代わりに 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 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 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 master

データベース

MediaWiki はさまざまな種類のデータベース サーバーと互換性があります。MySQL への対応に特に力を入れています。(MariaDB も使用できます。)

他のデータベース ソフトウェアのサポートには心もとない物から安定している物まで幅があります。 MediaWiki は PostgreSQL と SQLite 用にデータベースの抽象層を提供しており、それは一般的には良く維持管理されています。

バージョン 1.36 以降、MediaWiki は 2 つの主要な LTS リリース からのアップグレードをサポートすることのみを保証しています (phab:T259771 を参照)。 MediaWiki の古いバージョンからのアップグレードは、複数のステップで実行する必要があります。 これは、1.34 以前のバージョンから 1.41 にアップグレードする場合、最初に 1.34 のウィキを 1.35 (または 1.39) にアップグレードし、さらに 1.35 (または 1.39) から 1.41 にアップグレードする必要があることを意味します。
MediaWiki はバージョン 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 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 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 master

アップグレード

バージョン 1.36 以降、MediaWiki は 2 つの主要な LTS リリース からのアップグレードをサポートすることのみを保証しています (phab:T259771 を参照)。 MediaWiki の古いバージョンからのアップグレードは、複数のステップで実行する必要があります。 これは、1.34 以前のバージョンから 1.41 にアップグレードする場合、最初に 1.34 のウィキを 1.35 (または 1.39) にアップグレードし、さらに 1.35 (または 1.39) から 1.41 にアップグレードする必要があることを意味します。

ウェブサーバー

MediaWikiは、互換性があるバージョンのPHPを実行できる主要なウェブサーバーすべてと、広く互換性があります。 Apacheが最も多く使用されており、動作テストも最も多くされています。 Nginxも同様に良い選択です。

MediaWikiの拡張機能と外装

拡張機能外装が適切にメンテナンスされている限り(説明文書のページにある情報ボックス最上段で確認可能)、その拡張機能のマスターブランチはMediaWikiマスターブランチと互換性を保つ必要があります。 旧版の MediaWiki との互換性を検討するには、拡張機能や外装に適用される以下の共通の方針があります:

  • マスター (key: master): 拡張機能または外装のマスターブランチはMediaWiki最新版ならびに旧版と互換性を保つ。 必要に応じて、下位互換性ハックが拡張機能または外装のソースコードに追加されます。
  • リリースブランチ (key: rel): 各MediaWiki リリース版には、必ず拡張機能または外装のブランチが対応する。 ということは 例えば MediaWiki 1.41 を使用するときは必ず拡張機能または外装の REL1_41 ブランチを使用します。
  • 長期間サポート リリース ブランチ (キー: ltsrel)。長期間サポート リリースであるすべての MediaWiki リリース (バージョン ライフサイクル リリース ポリシーを参照) のそれぞれに対応するブランチが、拡張機能または外装に存在します。 ということは 例えば MediaWiki 1.39 を使用するときは必ず拡張機能の REL1_39 ブランチを使用します。 MediaWiki の非 LTS バージョンを使用している場合、通常は以前の LTS バージョン用の拡張機能または外装のブランチを使用する必要があります。 例えば、ltsrel の拡張機能や外装を使用する MediaWiki 1.34 ウィキは、通常はその拡張機能や外装の REL1_31 ブランチを使用します。 ただし、互換性を保証するものではありません。

Extension 基礎情報ボックス内の compatibility policy 欄にはその拡張機能で採用する方針はどれか示しています。情報を絞り込むには、上記に示した中から適したキーを選んでください。

拡張機能のなかには互換性について独自の方針を通すものもあります。例えば:

ブラウザー

全般的な情報

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.

「モダン」レイヤーの JavaScript 要件は、起動モジュール内での機能テストを使用して実装されており、「cutting the mustard」アプローチに触発されています。 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.

世界には様々なウェブ ブラウザーがあり、その数は日々増大しています。 それぞれを能動的にテストしてサポートするには数が多すぎます。 ブラウザー サポートをめぐる慣行の基準として、3つのサポート レベルがあります。 レベルごとにブラウザーのカテゴリを表します。

実際には、ブラウザーのグレード間の唯一の違いは、テストとサポートへの投資額です。 すべてのブラウザーは同じサーバーからのレスポンスを受け取り、必要な JavaScript 機能を備えていれば「モダン」レイヤーの読み込みを試みます。

グレードA

グレード A ブラウザーは最高レベルのサポートを受けます。MediaWiki は最新のブラウザーの機能を利用しつつ、古いブラウザーに対しても優雅なフォールバックを提供します。開発された新機能は、これらのブラウザーで動作する必要があります (劣化した形式かどうかは問いません)。

ここに分類されるブラウザーは特定されており(下記参照)、積極的なテストの対象になります。これらのブラウザで起こる問題は高い優先度で対処されます。

グレードC

グレード C のブラウザーは、MediaWiki プラットフォームの核となる機能を利用できる必要があります。 私たちの 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 InternetUC BrowserVivaldi、および Iceweasel)
  • * モダンなブラウザーの新バージョンがまだ私たちのテスト対象ではない場合、一時的に「不明」とみなされる可能性があります。不明なブラウザーは十分な機能があるとすることで、それらのブラウザーでも最適なユーザー体験が保証されます。
  • 開発または保守が終了し、現代のインターネット標準と互換性のないブラウザーまたはブラウザーのバージョンは、MediaWiki はサポートを打ち切ることがあります。 These might receive the "Basic" mode, or might be unable to even connect to the web server.

この原則では、新しいおよび進化中のブラウザーの利用者にはモダンな体験を提供する機会が与えられます。

ソフトウェア開発のための保守コストの上乗せを正当化のに十分なほど普及していないブラウザー群は、これらのブラウザーのみで利用者が感じる問題は低優先度とします。

ブラウザーの対応状況マトリックス

デスクトップ

前述の原則やグレードごとの説明はMediaWikiコアや拡張機能にも同じように適用されますが、下記のブラウザー対応状況マトリックスが適用されるのはMediaWikiコア、ウィキメディア財団のインフラ、およびそれに追従すると決めたMediaWiki拡張機能に限定されます。個々の拡張機能は、独自の対応状況マトリックスを持っているかもしれません。ブラウザー使用状況分類ダッシュボードも参照してください。

ブラウザー対応状況マトリックス (2023年4月時点) · ·
ブラウザー Chrome Opera Edge Edge レガシ Firefox Internet Explorer Safari iOS Android
モデル (グレード A) 過去3年間のバージョン (2021) なし 過去3年間のバージョン (2021) なし 11.1+ (2018) 11.3+ (2018) 5+ (2014)
基本 (グレードC) 31+ (2013) 18+ (2013) 79+ (2020) 12+ (2015) 39+ (2014) 11 (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)[note 1]
不明 (グレードX) その他すべてのブラウザー
2024年2月時点の実用的な実装
プラットフォーム 最低限の OS とデバイス 対応しているモダン ブラウザー
Android Moto G (1st generation) (2013)
Google Nexus 4 (2012)
Android 5.1, Chrome 88+
Samsung Galaxy S5 (2014) Android 6.0, Chrome 88+
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 (現行), chromium ブラウザー (現行)
macOS OS X 10.9 Mavericks (2013-2016) Firefox 78 ESR (2020). 既定の Safari 7 には対応していません。
macOS 10.13 High Sierra (2017-2020) Safari 11.1、現行の Firefox、Chrome 88 以降
macOS 10.15 Catalina (2019-2022) Safari 13.1、現行の Firefox、Chrome 88 以降
Windows Windows 7 (2009-2020) Edge 84 以降、現行の Firefox、Chrome 88 以降

変更点の一覧 (新しい順):

  • 2023年現在、サポート対象は再確認されています。Chrome および Chromeベースのブラウザーについては、最近の3年間のバージョンが対象となっています (3か月ではなく3年を網羅)。Firefox については、現在のバージョンと前の LTS バージョンが対象となっています (ほぼ同じ期間を網羅します)。 T178356
  • MediaWiki 1.41 以降、Internet Explorer 11、macOS および iOS の Safari 9-10、Firefox 39-53 に対するモダン サポートは除去されました。 T178356
  • MediaWiki 1.39 以降、Internet Explorer 9-10、Firefox 27-38、Android 4.3-4.4 向けの基本サポートは除去されました。 T293298, T297313, T290815
  • MediaWiki 1.36 以降、Firefox 3-26、Internet Explorer 8、Safari 3-8、iOS (Safari) 5-8、Android 3.0-4.2、Chrome 1-30、Opera 15-18 向けの基本サポートは除去されました。 T248061, T262946, T266866
  • MediaWiki 1.36 以降、Android 4.1-4.2、iOS 6.1-8、Safari 5.1-8 向けのモダン サポートは除去されました。 T266866
  • MediaWiki 1.35 以降、Internet Explorer 6 および 7、Android 2 向けの基本サポートは除去されました。 T232563, T249788
  • MediaWiki 1.31 以降、Internet Explorer 10 向けの JavaScript は無効になりました。 T187869
  • MediaWiki 1.29 以降、Internet Explorer 9 およびその他の非 ES5 ブラウザー向けの JavaScript は無効になりました。 T128115
  • MediaWiki 1.27 以降、Internet Explorer 8 向けの JavaScript は無効になりました。 T118303, Wikitech-ambassadors のメール
  • MediaWiki 1.24 以降、Internet Explorer 6 および 7 向けの JavaScript は無効になりました。 gerrit:152072, gerrit:152128, Wikitech-ambassadors のメール

モバイル版

ウィキメディア財団のウェブ チームは、モバイル専用の外装 (例: Minerva ) および/またはモバイル機器 (例: MobileFrontend ) 上でのみ動作するように設計された拡張機能に対して、より狭いサポート マトリックスを適用しています。 対応状況マトリックスは analytics user agent breakdown dashboard から提供されたデータをもとに集計しています。 ブラウザーの使用率が 5% を超えると、モダンなエクスペリエンス (グレードA) がサポートされます。 過去12か月にわたり0.1%超であれば基本的サポート (グレードC) を受けられます。 携帯端末ではGrade Bの提供が目標です。Grade Bの利用者にはJavaScriptの利用ができたりできなかったり一定しませんが、Grade Aほど厳密に試験しないため、バグ修正を優先し発生頻度を低下させます。 MobileFrontend におけるモダン サポートのブラウザーのリストは .browserlistsrc ファイルで定義されています。

リストにないブラウザーか、リストに含まれるブラウザーより古いものは基本サポートのブラウザーとされます。

関連項目

注記

  1. これは標準の Android ブラウザーを指していることに注意してください。 Android 版 Chrome では、Chrome 31 以降を実行している場合、Android 4.0 以降(2011)が必要です。
  2. iOS 11 では iPhone 5 およびそれ以前のデバイスへのサポートが終了しました

脚注