互換性

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

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

MediaWikiのサポート対象について変更のご要望はPhabricatorコメント募集をご利用ください。

サーバーソフトウェア

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

PHP

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

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

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

MediaWiki は PHP 7.4.0 - 7.4.2 までと互換性がありません (上流のバグのため)。 代わりに PHP 7.4.3+ を使用してください。 詳細情報は タスク T246594 を参照してください。
MediaWiki support for PHP 8.0 and above started with 1.39.0. Other release branches like MediaWiki 1.35.x may have minor issues and warnings on PHP 8 but generally work. 詳細情報は T248925 を参照してください。
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 master
 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+ 
 5.5.0–5.5.8 
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 master
 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 master

データベース

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

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

バージョン 1.36 以降、MediaWiki は 2 つ前のメジャーな長期サポート リリース (LTS) からのアップグレードのみをサポートします (phab:T259771 を参照)。古いバージョンの MediaWiki からのアップグレードは複数の段階を踏む必要があります。
警告 警告: 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 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 master
 PostgreSQL 10+
 PostgreSQL 9.4+ 
 PostgreSQL 9.2+ 
 PostgreSQL 8.3+ 
 PostgreSQL 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 master

アップグレード

MediaWiki 1.36 以降、2 つ前の LTS リリースからのアップグレードのみに対応することを約束しています。 (phab:T259771 を参照してください。) MediaWiki の古いバージョンからのアップグレードは、複数のステップで実行する必要があります。 すなわち、1.23 以前から 1.36 にアップグレードする場合は、まず 1.23 ウィキを 1.27 (または 1.35) にアップグレードする必要があり、その後 1.27 (または 1.35) から 1.36 にアップグレードできるようになります。

ウェブサーバー

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

MediaWiki拡張機能

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

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

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

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

ブラウザー

全般的な情報

世界には様々なウェブ ブラウザーがあり、その数は日々増大しています。

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

モダン(グレードA)

このグループ(グレードA)はもっとも高水準なサポートを意味します。モダンなブラウザーの能力を利用して機能を実現し、古いブラウザーに対する互換性が多少崩れることは許容します。ソフトウェアが提供するすべての機能 (廃止予定か否かに関わらず) はこれらのブラウザーで必ず動くようにします。

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

基本(グレードC)

このグループは、MediaWiki プラットフォームのコア機能を提供します (別名 Grade C)。 私たちの HTTP レスポンスは、これらのブラウザーと互換性があります。(例: 私たちが依存する HTTP 機能、文字エンコーディング、コンテンツが使用する画像形式、はこれらのブラウザで動作する必要があります)。 フロントエンドでは、コンテンツが読みやすい方法で表示されることを意味します。

このカテゴリに属するブラウザーの中には、最新の JavaScript と互換性がないため[1]、JavaScript の機能が得られないものがあることが知られています。 これらは、スタートアップ モジュール内の機能試験スイートおよびユーザー エージェント フィルターで識別されます。 グレード B の他のブラウザー (下記参照) には、JavaScript の機能がまだ提供されますが、将来のある時点でサポートが切れたり、打ち切られたりする可能性があります。

不明(グレードX)

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

  • 開発または保守が終了し、現代のインターネット標準と互換性のないブラウザーまたはブラウザーのバージョンは、MediaWiki はサポートを打ち切ることがあります。
  • ソフトウェア開発のための保守コストの上乗せを正当化のに十分なほど普及していないブラウザー群は、これらのブラウザーのみで利用者が感じる問題は低優先度とします。

MediaWiki はこれらのブラウザーをモダン(グレードA)のブラウザーと同様に処遇し、機能が十分なブラウザーとみなします。この原則には様々な重要な利点があります:

  • モダンなブラウザーの新バージョンがまだ私たちのテスト対象ではない場合、一時的に「不明」とみなされる可能性があります。不明なブラウザーは十分な機能があるとすることで、それらのブラウザーでも最適なユーザー体験が保証されます。
  • 最新の進化したブラウザを利用する人にモダンな体験を与えられます。
  • モダンなブラウザーとして知られているが人気がなかったり、何かの派生版だったりするもの(例: Iceweasel)を使用している人に悪影響が出ません。

実際上、不明とモダンの各グループの違いは、不明グループのブラウザーは積極的にはテストしないということです。

これらのブラウザーには完全な機能の集合体が用意されており、HTTP、HTML、CSS、JS 機能は、これらのブラウザーと互換性がある場合とない場合があり、Grade C ブラウザー向けの対策 (新しい CSS 機能に対するフォールバック CSS など) の影響を受ける場合と受けない場合があることを意味しています。 特に、JavaScript のサポートが有効かどうかは、機能テスト スイートとユーザー エージェント フィルター (上記参照) によって決定されます。

IE11に対する特別な対応

2021年3月より、Compatibility/IE11 に記載されているように、ウィキメディアプロジェクトの新しいJavaScript機能はIE11ではサポートされません。これは、このブラウザを基本(グレードC)グループにダウングレードすることの始まりです。

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

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

ブラウザー対応状況マトリックス (2022年4月時点) · ·
ブラウザー Chrome Firefox Opera Edge Edge レガシ Internet Explorer Safari iOS Android
モデル (グレード A) 現行と1つ前のバージョン (2022) なし 11+ (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)
基本 (グレードC) 31+ (2013) 39+ (2014) 18+ (2013) 79+ (2020) 12+ (2015) 11+ (2013) 9.1+ (2015) 9+ (2015) 5+ (2014)
不明 (グレードX) その他すべてのブラウザー

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

  • 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 message
  • MediaWiki 1.24 以降、Internet Explorer 6 および 7 向けの JavaScript は無効になりました。 gerrit:152072, gerrit:152128, Wikitech-ambassadors message

モバイル版

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

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

注記

  1. 現在、MediaWiki は ES5 を完全にサポートするブラウザーを必須としていますが、将来的には引き上げられる可能性があります。phab:T178356

関連項目