Kompatibilitas
MediaWiki ingin menjaga kompatibilitas yang luas antarversi, dan dengan berbagai perangkat lunak baik yang terkini maupun yang warisan. Pada saat yang sama, basis kode yang terus berkembang dan fitur-fitur dari pengembangan MediaWiki yang terbaru membuat tidak mungkin untuk selamanya menjaga kompatibilitas dengan perangkat lunak warisan.
Jika Anda ingin menyarankan perubahan mengenai apa yang didukung oleh MediaWiki, Anda bisa mengisi permohonan komentar di Phabricator.
Perangkat lunak peladen
Bagian-bagian berikut memberikan gambaran mengenai perangkat lunak yang diperlukan peladen agar bisa menjalankan MediaWiki.
PHP
Versi stabil terbaru dari MediaWiki (1.42) menjalankan PHP versi 8.1.0 atau versi lebih tinggi.
Untuk versi mendatang, lihat Support policy for PHP .
Wikimedia production servers currently run PHP 7.4, with plans to upgrade to PHP 8.1 soon. Patches for MediaWiki core are tested against PHP 7.4 when created, and PHP 7.4, 8.1, 8.2 when merging. MediaWiki developers are encouraged to develop using PHP 8.1, and the MediaWiki Docker image uses PHP 8.1.
If your OS distribution has an unsupported version of PHP, you may be able to use a community package repository:
- Debian (Ubuntu): Sury
- RHEL (Fedora / Rocky / Oracle): Remi / RHEL 9 stream
- SUSE: openSUSE contributors
- Arch (Manjaro): el:archphp
- macOS (Homebrew): shivammathur
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 |
Basis data
MediaWiki kompatibel dengan berbagai peladen basis data. Disarankan untuk menggunakan MySQL atau MariaDB.
Menggunakan perangkat lunak basis data lainnya tidak disarankan untuk penggunaan produksi. Dukungannya berbeda dari versi MediaWiki ke versi MediaWiki dan beragam dari diragukan hingga stabil. MediaWiki menyediakan lapisan abstraksi basis data untuk PostgreSQL dan SQLite, yang pada umumnya dipelihara dengan baik.
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 |
Pemutakhiran
Peladen web
MediaWiki kompatibel secara luas dengan semua peladen web besar yang bisa memanggil versi PHP yang kompatibel. Apache adalah yang paling banyak digunakan dan diuji. Nginx juga merupakan pilihan yang baik.
Ekstensi MediaWiki
Selama suatu ekstensi dipelihara dengan baik (bisa Anda lihat di atas kotak info di halaman deskripsinya), cabang master dari ekstensi tersebut seharusnya kompatibel dengan cabang master MediaWiki. Untuk menentukan kompatibilitas dengan versi MediaWiki yang lebih lama, berikut adalah kebijakan-kebijakan yang biasanya digunakan oleh ekstensi:
- master (kata kunci: master): cabang master dari ekstensi bersifat kompatibel dengan versi terkini dan versi lama MediaWiki.
Trik untuk menjaga kompatibilitas mundur ditambahkan ke kode sumber ekstensi apabila diperlukan.
- cabang rilis (kata kunci: rel): Untuk setiap rilis MediaWiki, terdapat cabang ekstensi yang bersesuaian.
Jadi jika misalnya Anda menggunakan MediaWiki 1.42, Anda sebaiknya menggunakan cabang REL1_42 ekstensi.
- cabang rilis dukungan-jangka-panjang (kata kunci: ltsrel): Untuk setiap rilis MediaWiki yang merupakan rilis Dukungan Jangka Panjang (lihat Kebijakan rilis siklus hidup versi), terdapat cabang yang sesuai di ekstensi.
Jadi jika misalnya Anda menggunakan MediaWiki 1.39, Anda sebaiknya menggunakan cabang REL1_39 ekstensi. Jika Anda menggunakan MediaWiki versi non-LTS, biasanya Anda perlu menggunakan cabang ekstensi untuk versi LTS sebelumnya. Contohnya, wiki-wiki MediaWiki 1.34 yang menggunakan ekstensi ltsrel biasanya menggunakan cabang REL1_31 dari ekstensi itu. Namun, tidak ada jaminan akan kompatibel.
Isian compatibility policy
dari kotak info Extension memberiktahukan kebijakan mana yang digunakan oleh ekstensi tersebut. Gunakan kata kunci yang disebutkan di atas untuk menjelaskan informasinya.
Beberapa ekstensi mungkin punya kebijakan kompatibilitas yang lebih spesifik, contohnya:
Peramban
Informasi umum
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 (subdivided into support grades A, C, and X) 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.
Mereka diidentifikasi melalui sebuah paket uji fitur dan sebuah filter agen pengguna di dalam modul 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.
Terdapat beragam peramban web yang banyaknya semakin bertambah di dunia ini. Terlalu banyak untuk secara aktif diuji dan didukung satu per satu. Untuk memandu pelaksanaan pendukungan peramban kami, kami punya tiga tingkat dukungan. Masing-masing tingkat mewakili satu kategori peramban.
Pada praktiknya satu-satunya perbedaan antara peramban Tidak Diketahui dan Modern adalah kami tidak secara aktif melakukan uji coba di peramban Tidak Diketahui. All browsers receive the same server responses and will try to load the Modern layer if it passes the required JavaScript capabilities.
Modern (Kelas A)
Kelompok ini mewakili tingkat dukungan tertinggi (juga disebut Kelas A) . Fitur-fitur memanfaatkan kemampuan peramban modern, serta membolehkan dukungan mundur untuk peramban yang lebih tua. Semua fitur yang disediakan oleh perangkat lunak (baik dalam bentuk yang direndahkan maupun tidak) harus bekerja di peramban-peramban ini.
Peramban dalam kategori ini dikenal (didaftarkan di bawah) dan MediaWiki secara aktif diuji di sini. Masalah yang didapatkan pengguna di peramban ini harus ditangani dengan prioritas tinggi.
Dasar (Kelas C)
Kelompok ini disediakan fungsionalitas inti dari platform MediaWiki (juga disebut Kelas C). Respon HTTP kami kompatibel dengan peladen-peladen ini (contoh: fitur HTTP yang kami andalkan, pengodean karakter, dan format gambar yang digunakan oleh konten; harus bekerja di peramban-peramban ini). Di ujung depan, ini berarti konten disajikan dalam bentuk yang mudah dibaca, dan tindakan konten dan akun bisa dilakukan, tetapi peramban-peramban ini tidak mendapatkan fitur-fitur JavaScript. To browsers that don't pass the feature test mentioned above, modern JavaScript is not served at all.
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.
Tidak Diketahui (Kelas X)
Kelompok ini mewakili semua peramban lainnya (juga disebut Kelas X). Ini termasuk:
MediaWiki memperlakukan peramban-peramban ini tidak jauh berbeda dengan peramban Modern (Kelas A) sehingga mereka diasumsikan mampu menjalankan MediaWiki. Prinsip ini memberikan beberapa keuntungan penting:
Browsers not included in any other group belong to this category, including:
- * Pengguna peramban kurang populer yang didasarkan, atau diturunkan, dari peramban modern yang dikenal tidak mendapatkan pengaruh secara negatif (contohnya Samsung Internet, UC Browser, Vivaldi, dan Iceweasel).
- * Versi terbaru atau tidak didukung dari peramban modern bisa untuk sementara waktu dianggap Tidak Diketahui apabila mereka belumkami jadikan tempat uji. Menganggap peramban Tidak Diketahui mampu memastikan pengalaman pengguna optimal di peramban-peramban ini.
- Penjelajah atau versi penjelajah yang tidak lagi dikembangkan atau dipelihara, dan tidak kompatibel dengan standar Internet modern; MediaWiki bisa memilih untuk menghentikan dukungan. These might receive the "Basic" mode or might be unable to even connect to the web server.
- Pengguna peramban yang baru dan berkembang diberikan kesempatan untuk memperoleh pengalaman modern.
Penjelajah yang tidak cukup populer untuk diberikan biaya pemeliharaan untuk pengembangan perangkat lunak; masalah-masalah yang pengguna rasakan di penjelajah ini hanya diberikan prioritas rendah.
Matriks dukungan peramban
Desktop
Prinsip-prinsip dan kelas-kelas berbeda yang dijelaskan di atas berlaku pada inti MediaWiki serta pada ekstensi. Matriks dukungan di bawah memberlakukan kelas-kelas tersebut kepada inti MediaWiki, infrastruktur Yayasan Wikimedia, dan ekstensi MediaWiki manapun yang memilih untuk mengikutinya. Masing-masing ekstensi bisa jadi punya matriks dukungan mereka sendiri yang membagi-bagi peramban ke berbagai tingkat dukungan. Lihat juga Dasbor laporan penggunaan peramban.
Peramban | Chrome | Edge | Firefox | Safari | iOS | Android | |||
---|---|---|---|---|---|---|---|---|---|
Modern (kelas A) | Last three years' versions (2021) | 11.1+ (2018) | 11.3+ (2018) | 5+ (2014) | |||||
Dasar (kelas C) | 49+ (2016) | 79+ (2020) | 49+ (2016) | 10+ (2016) | 10+ (2016) | 5+ (2014)[note 1] | |||
Tidak Diketahui (kelas X) | Semua peramban lainnya |
Platform | Minimum OS or device | Supported modern browser |
---|---|---|
Android | Moto G (1st generation) (2013) Google Nexus 4 (2012) |
Android 5.1, Chrome 95, Firefox (current) |
Samsung Galaxy S5 (2014) | Android 6.0, Chrome 106, Firefox (current) | |
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 103 |
macOS 10.13 High Sierra (2017-2020) | Safari 13, Firefox 115 ESR, Chrome 116 | |
macOS 10.15 Catalina (2019-2022) | Safari 15, current 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 |
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
- Per MediaWiki 1.36, dukungan Dasar dihapus untuk Firefox 3-26, Internet Explorer 8, Safari 3-8, iOS (Safari) 5-8, Android 3.0-4.2, Chrome 1-30, dan Opera 15-18. T248061, T262946, T266866
- Per MediaWiki 1.36, dukungan Modern dihapus untuk Android 4.1-4.2, iOS 6.1-8, dan Safari 5.1-8. T266866
- Sejak MediaWiki 1.35, dukungan Dasar dihapus untuk Internet Explorer 6-7 dan Android 2. T232563, T249788
- Sejak MediaWiki 1.31, JavaScript untuk Internet Explorer 10 telah dimatikan. T187869
- Sejak MediaWiki 1.29, JavaScript untuk Internet Explorer 9 telah dimatikan beserta peramban-peramaban non-ES5 lainnya. T128115
- Sejak MediaWiki 1.27, JavaScript untuk Internet Explorer 8 telah dimatikan. T118303, Wikitech-ambassadors message
- Sejak MediaWiki 1.24, JavaScript untuk Internet Explorer 6 dan 7 telah dimatikan. gerrit:152072, gerrit:152128, Wikitech-ambassadors message
The Wikimedia Foundation also provides an up-to-date browserslist config reflecting the support matrix.
Peranti bergerak
Tim Web di Yayasan Wikimedia menerapkan matriks dukungan yang lebih sempit untuk kulit khusus peranti bergerak seperti Minerva dan/atau ekstensi yang dirancang untuk dijalankan hanya di peranti bergerak seperti MobileFrontend .
Matriks dukungannya dikumpulkan dari data yang disediakan oleh analisis dasbor laporan agen pengguna.
Jika penggunaan peramban lebih tinggi dari 5% maka akan diberikan dukungan modern (Kelas A).
Dukungan dasar (Kelas C) disediakan untuk semua peramban dengan penggunaan lebih dari 0,1% selama 12 bulan terakhir.
Dalam peranti bergerak kami ingin menyediakan sebuah Kelas B. Pengguna kelas B belum tentu mendapatkan JavaScript dan uji coba yang kami lakukan di sana tidak setingkat di kelas A, jadi prioritas pemerbaikan bug di sana lebih rendah.
Daftar peramban dengan dukungan modern di MobileFrontend didefinisikan di berkas .browserlistsrc
.
Semua yang tidak ada atau lebih tua dari yang ada di daftar dianggap sebagai peramban dengan dukungan dasar.
Lihat pula
- Siklus hidup versi dari versi-versi MediaWiki
- No-JavaScript notes
- MediaWiki - compatibility error note (example)
- wikitech:HTTPS/Browser Recommendations
- Graded Browser Support by YUI (2011-2015)
- Graded Browser Support by Yahoo (2006-2012)
Notes
- ↑ Note this refers to the stock Android browser. For Chrome for Android, provided that you're running Chrome 49+, it requires Android 4.1+(2012). For Firefox for Android, provided that you're running Firefox 49+, it requires Android 4.0+(2011).
- ↑ iOS 11 dropped support for iPhone 5 and older devices