Jump to content

互換性

From mediawiki.org
This page is a translated version of the page Compatibility and the translation is 99% complete.

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

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

サーバーソフトウェア

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

PHP

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

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

ウィキメディアの本番サーバーは現在、PHP 7.4 を実行していますが、近々 PHP 8.1 へのアップグレード計画があります。 MediaWiki のコアのパッチは作成時に PHP 7.4 でテストされ、マージ時には PHP 7.4, 8.1, 8.2 でテストされます。 MediaWiki の開発者は PHP 8.1 を使用して開発することが奨励されており、MediaWiki Docker イメージは PHP 8.1 を使用しています。

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

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 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 
 5.6.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 master
 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 master

データベース

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

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

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

アップグレード

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

ウェブサーバー

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

MediaWikiの拡張機能と外装

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

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

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

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

ブラウザー

全般的な情報

すべてのウェブ ページは、基本モードで開始されます。このモードでは、HTML のみがレンダリングされます。視覚的な読者にとって CSS が成功することが想定され、表示目的に使用されるべきです。 モダン レイヤー (サポート グレード A、C、X に細分化されています) では、クライアント側の JavaScript で記述された省略可能な拡張機能やインタラクションが定義されています。 このレイヤーは、読み込みに失敗したり、遅れて到着したり、まったく到着しないことがあります。これは、最新のブラウザーでも含まれます。 これはさまざまな状況に依存します。 詳細は MediaWiki エンジニアリング ガイドラインを参照してください。

「モダン」レイヤーの JavaScript 要件は、起動モジュール内での機能テストを使用して実装されており、「cutting the mustard」アプローチに触発されています。 現在、モダン レイヤーでは JavaScript のバージョン「ES6 (ES2015)」が必要です。MediaWiki 開発者にとっては、これは後のバージョンの JavaScript 構文を使用しないようにする必要があることを意味します。 これは、eslint-config-wikimedia 内の ESLint ルールによって強制されています。

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

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

グレードA

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

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

グレードC

グレード C のブラウザーは、MediaWiki プラットフォームの核となる機能を利用できる必要があります。 私たちの HTTP レスポンスは、これらのブラウザーと互換性があります。(例: 私たちが依存する HTTP 機能、文字エンコーディング、コンテンツが使用する画像形式、はこれらのブラウザで動作する必要があります)。 フロントエンドでは、これはコンテンツが読みやすい形式で表示され、コンテンツやアカウントの操作が行えることを意味しますが、JavaScript の機能は利用できないかもしれません。 To browsers that don't pass the feature test mentioned above, modern JavaScript is not served at all.

このカテゴリのブラウザーは既知です (以下に列挙されています)、そしてほとんどテストされていない状態です。これらのブラウザーで利用者が感じる問題は、高い優先度で対応されます。ただし、問題の軽減策は、利用可能な機能が壊れないようにすることに焦点を当てる場合があります。製品の観点から受け入れ可能であれば、この対応により影響を受けた機能改善が無効化されることがあります (一時的であっても)。

グレードX

このグループ(グレードX)には上記以外のすべてのブラウザーが入ります。以下のようなブラウザーが含まれます。

MediaWiki は、これらのブラウザーをグレード A とグレード C のブラウザーと同じように処理します。つまり、ユーザー エージェント フィルターは存在せず、これらのブラウザーは「モダン」レイヤーの機能テストに合格すれば、JavaScript の機能強化を受けられます。

他のどのグループにも含まれていないブラウザーは、以下の通りです:

  • 既存のモダン ブラウザーを基盤とした、または派生した、あまり普及していないブラウザー ( Samsung InternetUC BrowserVivaldiOperaIceweasel)
  • モダン ブラウザーのベータ版。これらは、私たちがテストしていない場合、グレード X と見なされます。これらを有効なものとして扱うことで、これらのブラウザーで最適なユーザー エクスペリエンスを確保し、上流でのテストを容易にします。
  • 開発や保守が終了し、現代のインターネット標準と互換性がないブラウザーやブラウザーのバージョン。 これらのブラウザーは「基本」モードを受け取る場合があり、ウェブサーバーに接続できない場合もあります。

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

これらのブラウザーは十分に普及しておらず、ソフトウェア開発における保守コストの上乗せを正当化できません。また、基本的にテストは一切行われません。これらのブラウザーで利用者が感じる問題は低優先度とします。

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

デスクトップ

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

ブラウザー対応状況マトリックス (2024年11月時点) · ·
ブラウザー Chrome Edge Firefox Safari iOS Android[note 1]
モデル (グレード A) 過去3年間のバージョン (2021) 11.1+ (2018年) 11.3+ (2018年) 6+ (2015年)[note 2]
基本 (グレードC) 49+ (2016年) 79+ (2020年) 49+ (2016年) 10+ (2016年) 10+ (2016年) 5+ (2014年)[note 3]
不明 (グレードX) その他すべてのブラウザー
2024年11月時点の実用的な実装
プラットフォーム 最低限の OS とデバイス 対応しているモダン ブラウザー
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, 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 (現行), chromium ブラウザー (現行)
macOS OS X 10.11 El Capitan (2015-2018) Safari 11.1, Chrome 103
macOS 10.13 High Sierra (2017-2020) Safari 13, Firefox 115 ESR, Chrome 116
macOS 10.15 Catalina (2019-2022) Safari 15, 現行の 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

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

  • MediaWiki 1.43 時点で、Internet Explorer 11 (IE 11)、Edge 12–18、Chrome 31–48、Firefox 39–48、macOS および iOS 上の Safari 9、そして Opera の基本サポートは除去されました。 ただし、Chromium ベースの Opera は、これまでと全く同じ動作が期待されます。 T288287
  • 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 のメール

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

モバイル版

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

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

関連項目

注記

  1. Android WebView を指し、Android 4.4(2013年) 以降は Chromium をベースにしています。 Android 5.0(2014年) 以降では、Android のバージョンを更新せずに Chrome WebView を個別に更新することができます。 独立したブラウザーについては、Chrome と Firefox の列を参照してください。
  2. 3年以上前の Chrome 96(2021年) は Android 5(2014年) のサポートを終了しました。 最新バージョンの Firefox やウィキメディア アプリは Android 5(2014年) 以降をサポートしています。
  3. これは標準の Android ブラウザーを指していることに注意してください。 Android 版 Chrome では、Chrome 49 以降を実行している場合、Android 4.1 以降(2012年)が必要です。 Android 版 Firefox の場合、Firefox 49 以降を使用していれば、Android 4.0(2011年) 以降が必要です。
  4. iOS 11 では iPhone 5 およびそれ以前のデバイスへのサポートが終了しました

脚注