Compatibiliteit
Het streven van MediaWiki is om te zorgen dat er compatibiliteit is tussen versies, dit met een bereik tussen de huidige en oudere software. Maar dat de uitbreiding van de functionaliteit en groei van de mogelijkheden het ondersteunen van oudere versies maar beperkt mogelijk is, oud wordt toch echt eens verouderd.
Als u een wijziging wilt voorstellen over wat MediaWiki moet ondersteunen, laat dan een bestand met een verzoek voor commentaar achter op Phabricator.
Server software
Hier geven we een overzicht van de software die op de server nodig is om MediaWiki uit te voeren.
PHP
De meest recente stabiele versie van MediaWiki (1.42) draait op PHP 8.1.0 of hoger.
Voor toekomstige versies, zie Support policy for PHP .
Wikimedia-servers draaien met PHP 7.4, met plannen om spoedig te upgraden naar PHP 8.1. Patches voor MediaWiki core worden getest met PHP 7.4 bij het maken en met PHP 7.4, 8.1, 8.2 bij het samenvoegen. MediaWiki-ontwikkelaars worden aangemoedigd om te ontwikkelen met behulp van PHP 8.1, en de MediaWiki Docker image maakt gebruik van PHP 8.1.
Als uw besturingssystemen geen ondersteunde versie van PHP heeft, kunt u misschien een community-pakketrepository gebruiken:
- 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 |
Database
MediaWiki ondersteunt meerdere soorten database servers. Het gebruik van MySQL of MariaDB wordt aanbevolen.
Gebruik van andere database software wordt niet aanbevolen voor productie-omgevingen. De ondersteuning verschilt per MediaWiki versie, en van dubieus tot stabiel. MediaWiki heeft abstractielagen voor PostgreSQL en SQLite, die in het algemeen goed onderhouden zijn.
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 |
Upgrade
Webserver
MediaWiki is in grote lijnen compatibel met alle grote webbrowsers die om kunnen gaan met een compatibel versie van PHP. Apache wordt het meest gebruikt en getest. Nginx is ook een goede keuze.
MediaWiki extensies en skins
Zolang de extensie of de skin goed beheerd wordt (let op de informatie op de beschrijvingspagina van de extensie/skin), zal de hoofdbranch van de extensie/skin compatibel zijn met de hoofdbranch van MediaWiki. Als u moet inschatten of oudere MediaWiki versies compatibel zijn met de extensie/skin, kunt u kijken naar de volgende gebruikelijke beleidsopties van extensies/skins:
- master (key: master): de master branch van de extensie/skin is compatibel met zowel de huidige als met oudere versies van MediaWiki. Er zijn aanpassingen aan de broncode van de extensie/skin gedaan om ook oudere versies compatibel te maken.
- release branches (key: rel): Voor elke MediaWiki release is er een overeenkomende branch in de extensie/skin. Dus als u bijvoorbeeld MediaWiki 1.42 gebruikt, dan moet u de REL1_42 branch van de extensie/skin gebruiken.
- lange-termijn ondersteunde release branches (key: ltsrel): Voor elke MediaWiki release die een Long Term Support release is (zie Levensduur versies) is er een overeenkomende branch in de extensie/skin. Dus als u bijvoorbeeld MediaWiki 1.39 gebruikt, dan moet u de REL1_39 branch van de extensie gebruiken. Als u een niet LTS-versie van MediaWiki gebruikt, dan heeft u meestal de branch van de extensie/skin voor de voorafgaande LTS-versie nodig. Als MediaWiki 1.34 wiki's een ltsrel extensie/skin gebruiken dan gebruiken ze meestal de REL1_31 branch van die extensie/skin. Dit is een vuistregel, dus geen garantie dat die versie compatibel is.
Het veld beleid over compatibiliteit in het gedeelte Extension geeft aan welk beleid er wordt gebruikt bij een bepaalde extensie. Gebruik de respectievelijke daarboven aangegeven keys om de informatie te specificeren.
Een extensie kan een meer specifiek beleid hebben voor compatibiliteit, bijvoorbeeld:
Browsers
Algemene informatie
Elke webpagina begint in de Basic modus, waarbij alleen de HTML wordt weergegeven. CSS kan worden aangenomen dat het voor visuele lezers succesvol is en moet worden gebruikt voor presentatie.
De laag Modern (onderverdeeld in ondersteuningsklassen (graden) A, C en X) definieert optionele verbeteringen en interacties die zijn geschreven in JavaScript van de klantzijde. Deze laag kan niet laden, later aankomen of helemaal niet; ook in moderne browsers. Dit hangt af van verschillende omstandigheden.
Voor meer informatie, zie de MediaWiki Engineering richtlijnen.
De JavaScript-vereisten voor de "Modern" laag worden uitgevoerd via een functietest in de start-up module, geïnspireerd door de "wil om de gewenste standaard of prestaties te bereiken of te overtreffen" benadering. De Modern laag vereist nu JavaScript-versie ES6 (ES2015). Voor MediaWiki-ontwikkelaars betekent dit dat u geen syntaxis van latere versies van JavaScript moet gebruiken. Dit wordt via ESLint-regels in eslint-config-wikimedia afgedwongen.
Het aantal verschillende webbrowsers in de wereld lijkt maar te blijven groeien. Het zijn er te veel om ze afzonderlijk te testen en te ondersteunen. Wij gebruiken drie niveaus van ondersteuning voor gebruik van webbrowsers. Elke laag staat voor een verschillende categorie van webbrowsers.
In de praktijk is het enige verschil tussen de browserversies onze investering in testen en ondersteuning. Alle browsers ontvangen dezelfde serverreacties en proberen de Modern-laag te laden als deze aan de vereiste JavaScript-mogelijkheden voldoet.
Graad A
Browsers van Graad A krijgen het hoogste niveau van ondersteuning. MediaWiki maakt gebruik van de mogelijkheden in moderne browsers, terwijl het een gracieuze terugval voor oudere browsers mogelijk maakt. Nieuwe functies die worden ontwikkeld moeten in deze browsers werken (al dan niet in een gedegradeerde vorm).
Webbrowsers in deze categorie worden hieronder genoemd en worden actief getest. Als een gebruiker met een van deze webbrowsers een probleem heeft dan krijgt dat probleem een hoge prioriteit.
Graad C
De groep browsers Graad C bevat de core functionaliteit van het MediaWiki platform. Onze HTTP responses zijn compatibel met deze webbrowsers (bijv. HTTP functies waar we op vertrouwen, karakter encoding en afbeeldingsformaten die door de inhoud gebruikt worden moeten in deze webbrowsers werken). In de front-end betekent dit dat de inhoud leesbaar wordt weergegeven en dat er acties op de inhoud kunnen worden uitgevoerd, maar dat JavaScript functies wel of niet kunnen werken. Aan browsers die de genoemde functietest hierboven niet doorstaan, wordt modern JavaScript helemaal niet aangeboden.
Browsers in deze categorie zijn bekend (onder vermeld) en worden zelden getest. De problemen die gebruikers in deze browsers zien, worden met hoogste prioriteit opgepakt. De beperking kan echter gericht zijn op het waarborgen dat de beschikbare functionaliteit niet wordt verbroken; indien dit vanuit product perspectieven aanvaardbaar is, kan dit resulteren in het verstoren van de aangetaste functie (of niet tijdelijk) in plaats van te worden hersteld in deze browsers.
Graad X
De groep staat voor de overige webbrowsers (bekend als Graad X). Deze groep omvat:
MediaWiki behandelt deze browsers hetzelfde als de browser van graad A en graad C: er is geen filter voor gebruikersagenten, en deze browsers ontvangen JavaScript-verbeteringen als ze de functietest voor de "Modern" laag slagen.
Browsers die niet in een andere groep behoren, behoren tot deze categorie, waaronder:
- Minder populaire webbrowsers die gebaseerd zijn op, of afgeleid van, bekende moderne webbrowsers (bijv. Samsung Internet, UC Browser, Vivaldi, Opera en Iceweasel).
- Beta versies van moderne webbrowsers kunnen tijdelijk als onbekend (Graad X) worden gezien als ze nog niet door ons zijn getest. Het behandelen van onbekende webbrowsers als geschikt zorgt voor een optimale gebruikerservaring bij deze webbrowsers.
- Webbrowsers en webbrowser versies die niet langer onderhouden worden en die niet compatibel zijn met de moderne Internet standaarden. Deze kunnen de "Basic" modus ontvangen, of kunnen mogelijk geen verbinding maken met de webserver.
Gebruikers van nieuwe of zich ontwikkelde webbrowsers hebben nu een kans om een moderne ervaring te krijgen.
Webbrowsers die niet populair genoeg zijn om de extra onderhoudskosten te rechtvaardigen: de problemen die gebruikers in deze webbrowser ervaren krijgen een lage prioriteit.
Tabel met webbrowser ondersteuning
Desktop
De principes en verschillende graden hierboven beschreven zijn van toepassing voor de MediaWiki core en extensies. De onderstaande matrix geeft per graad de ondersteuning aan voor de MediaWiki core, Wikimedia Foundation infrastructuur en veel MediaWiki extensies die dit beleid volgen. Individuele extensies kunnen andere keuzes maken voor ondersteuning per webbrowser. Bekijk ook dit overzicht van gebruik van webbrowsers.
Browsers | Chrome | Edge | Firefox | Safari | iOS | Android | |||
---|---|---|---|---|---|---|---|---|---|
Modern (Graad A) | Versies van de laatste drie jaar (2021) | 11.1+ (2018) | 11.3+ (2018) | 5+ (2014) | |||||
Basis (Graad C) | 49+ (2016) | 79+ (2020) | 49+ (2016) | 10+ (2016) | 10+ (2016) | 5+ (2014)[note 1] | |||
Onbekend (Graad X) | Alle andere browsers |
Platform | Minimum besturingssysteem of device | Ondersteunde moderne browser |
---|---|---|
Android | Moto G (1e generatie (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 (huidig) | |
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, huidige 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 |
De lijst met wijzigingen, meest recente bovenaan:
- Vanaf MediaWiki 1.43 wordt de basisondersteuning verwijderd voor Internet Explorer 11 (IE 11), Edge 12-18, Chrome 31-48, Firefox 39-48, Safari 9 op macOS / iOS en Opera. Chromium-versies van Opera zullen waarschijnlijk precies dezelfde ervaring geven als voorheen. T288287
- In 2023 zijn de doelen van het ondersteunen opnieuw bepaald; van Chrome en Chrome-gebaseerde webbrowsers worden nu de versies van de laatste drie 3 jaar ondersteund; van Firefox worden de huidige en de vorige LTS versies ondersteund (dat is ongeveer dezelfde termijn). T178356
- Vanaf MediaWiki 1.41 : Ondersteuning Modern is verwijderd voor Internet Explorer 11, macOS en iOS Safari 9-10 en Firefox 39–53. T178356
- Vanaf MediaWiki 1.39 , basisondersteuning verwijderd voor Internet Explorer 9-10, Firefox 27-38 en Android 4.3-4.4 T293298, T297313, T290815
- Vanaf MediaWiki 1.36 , basisondersteuning verwijderd voor Firefox 3-26, Internet Explorer 8, Safari 3-8, iOS (Safari) 5-8, Android 3.0-4.2, Chrome 1-30 en Opera 15-18. T248061, T262946, T266866
- Vanaf MediaWiki 1.36 , ondersteuning Modern verwijderd voor Android 4.1-4.2, iOS 6.1-8 en Safari 5.1-8. T266866
- Vanaf MediaWiki 1.35 , basisondersteuning verwijderd voor Internet Explorer 6-7 en Android 2. T232563, T249788
- Vanaf MediaWiki 1.31 wordt JavaScript in Internet Explorer 10 niet langer ondersteund. T187869
- Vanaf MediaWiki 1.29 9 wordt JavaScript in Internet Explorer 9 en andere niet-ES5 browsers niet langer ondersteund. T128115
- Vanaf MediaWiki 1.27 wordt JavaScript in Internet Explorer 8 niet langer ondersteund. T118303, Wikitech ambassadeurs bericht
- Vanaf MediaWiki 1.24 wordt JavaScript in Internet Explorer 6 en 7 niet langer ondersteund. gerrit:152072, gerrit:152128, Wikitech ambassadeurs bericht
The Wikimedia Foundation also provides an up-to-date browserslist config reflecting the support matrix.
Mobiel
Het Webteam van de Wikimedia Foundation kiest voor een beperktere ondersteuning van skins specifiek voor mobile bijv. Minerva en/ofr extensies ontworpen voor mobiele devices bijv. MobileFrontend .
Deze matrix wordt aangemaakt van de gegevens die aangeleverd worden door het analytische user agent breakdown dashboard.
Indien het gebruik van een webbrowser boven de 5% is, wordt een moderne ervaring (Graad A) ondersteund.
Standaard ondersteuning (Graad C) wordt aangeboden voor alle webbrowsers met een gebruik boven de 0.1% over de laatste 12 maanden.
Bij mobiele webbrowsers streven we naar Graad B ondersteuning. De gebruikers kunnen wel/geen JavaScript hebben en we testen minder dan bij Graad A, aanpassingen krijgen een iets lagere prioriteit dan bij Graad A.
De lijst voor moderne webbrowser ondersteuning op MobileFrontend is gedefinieerd in bestand .browserlistsrc
.
Alle webbrowsers die niet in de lijst staan of ouder is krijgt een basis ondersteuning.
Zie ook
- Levensduur versie van MediaWiki versies
- 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)
Opmerkingen
- ↑ Dit verwijst naar de stock Android-browser. Voor Chrome voor Android is Android 4.1+(2012) vereist, op voorwaarde dat u Chrome 49+ gebruikt. Voor Firefox voor Android is Android 4.0+(2011) vereist, op voorwaarde dat u Firefox 49+ gebruikt.
- ↑ iOS 11 geeft geen ondersteuning meer voor iPhone 5 en oudere devices