MediaWiki 1.18

MediaWiki 1.18 is a large release that contains many new features and bug fixes. This is a summary of the major changes of interest to users. You can consult the  file for the full list of changes in this version. It was deployed to Wikimedia wikis 2>WMFBlog:2011/09/16/mediawiki118iscomin/|in Sept/Oct 2011 and released on 28 Nov 2011.


 * 1>Special:MyLanguage/Download|Download page
 * faq>Special:MyLanguage/MediaWiki 1.18/FAQ|Installation/Upgrade FAQ

What's new?
MediaWiki 1.18 brings new features and bug fixes. Below is an overview of the most important changes; see the for an exhaustive list.



Better gender support
Until version 1.17, MediaWiki used neutral nouns to address and identify users on their user page. In English, this was not an issue since "User" matches both genders, but in some languages the neutral gender is always masculine; for example, this would cause French-speaking female Wikipedia users to be referred to as "Utilisateur" (male user) instead of "Utilisatrice" (female user). With version 1.18, user pages reflect the user's gender, if they have specified it in their preferences. More gender support (for instance in logs and user lists) will be available in MediaWiki 1.19.

Improved file metadata support


MediaWiki now detects the camera orientation from Exif metadata, and rotates the picture preview accordingly. The original file remains unchanged.

The overall metadata support in MediaWiki has been greatly extended. Previously, MediaWiki could only extract limited Exif metadata, and showed a subset of it on file description pages. Since 1.18, MediaWiki can extract IPTC and XMP metadata from uploaded files, and more Exif information. This includes an embedded description, author information, GPS coordinates, or copyright statement.

Improved directionality support


A lot of work has been done, and is still being done, to fix directionality bugs (Left-To-Right, Right-To-Left). Most notably bug 6100 is fixed, which allows to display an RTL interface on an LTR wiki properly (and vice versa). This was developed under BetterDirectionality>Special:MyLanguage/Manual:$wgBetterDirectionality|$wgBetterDirectionality, which is now no longer used because the improvements are merged with the core code.

A positive consequence is that the page content on wikis with multiple scripts is aligned according to the direction of the selected variant. For example, on a Kazakh language wiki, selecting the Arabic script variant will align the text as RTL, while selecting the Latin or Cyrillic variant will align it as LTR.

Easily find where to customize interface messages
MediaWiki allows you to customize the user interface by editing pages in the system>Special:MyLanguage/Help:System message|MediaWiki namespace. However, even though they can be viewed at Special:AllMessages, the sheer number of these messages makes it difficult to find which one needs to be customized. In MediaWiki 1.18, a new pseudo-language is introduced to help people find such messages, by displaying the messages' key instead of the actual messages. All one has to do is append ?uselang=qqx to the page's  URL (see [ this page] as an example).

New plugin for collapsible elements
The new jQuery.makeCollapsible allows you to create collapsible tables, lists and so on, by adding the class  to the elements. See the manual for details.

Protocol-relative URLs
MediaWiki now supports protocol- relative URLs in links, interwiki targets and Server>Special:MyLanguage/Manual:$wgServer|$wgServer. Protocol-relative URLs look like  ; the browser will recognize this as   when following a link from an HTTP page, and   when following a link from an HTTPS page. This way, protocol-relative URLs enable a wiki to support HTTP and HTTPS while serving the same HTML for both, which means the parser cache doesn't have to be split.

Examples

 * Setting  to something like   instead of   is now supported.
 * By default, links to your wiki in Squid purges, IRC feeds and e-mail notifications will use HTTP. If you want them to use HTTPS, set InternalServer>Special:MyLanguage/Manual:$wgInternalServer|$wgInternalServer (for Squid purges) and/or CanonicalServer>Special:MyLanguage/Manual:$wgCanonicalServer|$wgCanonicalServer (for IRC feeds and e-mail notifications) to something like
 * Same for  in the interwiki table
 * Links like  now work
 * This is required because things like  would otherwise break if   is protocol-relative

More personalisable styles and scripts
MediaWiki now automatically loads javascript and stylesheets more specific to each user. There is a separate CSS and JS file for each usergroup (MediaWiki:Group-sysop.css, MediaWiki:Group-autoconfirmed.js, etc), and also a CSS file for users viewing without JavaScript (MediaWiki:Noscript.css).

Improvements to the skinning system
Legacy skinning support is out the door and MediaWiki's SkinTemplate system has been enhanced to remove a lot of unnecessary boilerplate and allow custom skins to make use of the same set of page tabs organized into namespace, variant, view, and action groups that Vector introduced.

Bundled extensions
The following extensions are newly bundled with MediaWiki as of 1.18 (announcement). All are currently in use on Wikimedia sites.


 * ext-ConfirmEdit>Special:MyLanguage/Extension:ConfirmEdit|ConfirmEdit — Various CAPTCHA techniques to try to prevent spambots and other automated tools from editing your wiki.
 * ext-Gadgets>Special:MyLanguage/Extension:Gadgets|Gadgets — A system to allow users to enable or disable JavaScript or CSS tools made available to users site-wide.
 * ext-Nuke>Special:MyLanguage/Extension:Nuke|Nuke — A special page allowing administrators to mass-delete content added by a spammer or vandal.
 * ext-ParserFunctions>Special:MyLanguage/Extension:ParserFunctions|ParserFunctions — Additional parser functions (like  and   ) to supplement the "magic words" present in MediaWiki. —
 * ext-Renameuser>Special:MyLanguage/Extension:Renameuser</>|Renameuser — A special page which allows authorized users to rename user accounts.
 * ext-Vector>Special:MyLanguage/Extension:Vector</>|Vector — Enhancements to the Vector skin.
 * ext-WikiEditor>Special:MyLanguage/Extension:WikiEditor</>|WikiEditor — An improved and customizable editing toolbar developed along the Vector skin.