-MediaWiki is now using a "continuous integration" development model with
-quarterly snapshot releases. The latest development code is always kept
-"ready to run", and in fact runs our own sites on Wikipedia.
-
-Release branches will continue to receive security updates for about a year
-from first release, but nonessential bugfixes and feature developments
-will be made on the development trunk and appear in the next quarterly release.
-
-Those wishing to use the latest code instead of a branch release can obtain
-it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
-
-=== PHP 5.2 now required ==
-In 1.18, the lowest supported version of MediaWiki is now 5.2.3. Please upgrade
-PHP if you have not done so prior to upgrading MediaWiki.
-
-=== Configuration changes in 1.18 ===
-* The WantedPages::getSQL hook has been removed and replaced with
- WantedPages::getQueryInfo . This may break older extensions.
-* $wgUseCombinedLoginLink controls whether to output a combined
- login / create account link in the personal bar, or to output separate login
- and create account links
-* Skin names are no longer created based on a ucfirst version of the key in
- $wgValidSkinNames but now the value. This means for
- $wgValidSkinNames["monobook"] = "MonoBook"; the skin loader will no longer try
- loading SkinMonobook and will instead load SkinMonoBook.
-* $wgMaxUploadSize may now be set to an array to specify the upload size limit
- per upload type.
-* $wgAPICacheHelp added in 1.16 is now removed. To disable API help caching, set
- $wgAPICacheHelpTimeout = 0;
-* OutputPage::isUserJsAllowed() no longer returns false when scripts are allowed
- by the page, but $wgAllowUserJs is set to false.
-* Pure "Skin" class based custom skins are no longer supported, all custom skins
- should be put together using SkinTemplate and BaseTemplate or QuickTemplate.
-* The transliteration for passwords in case they were migrated from an old Latin-1
- install (previous to MediaWiki 1.5) is now only done for wikis with
- $wgLegacyEncoding set.
-* (bug 27508) Add $wgSVGMetadataCutoff to limit the maximum amount of an svg we
- look at when finding metadata to prevent excessive resource usage.
-* $wgSysopUserBans and $wgSysopRangeBans (deprecated in 1.17) are now removed.
- Use $wgBlockCIDRLimit = array( 'IPv4' => 43, 'IPv6' => 128 ) to achieve the same
- functionality as $wgSysopRangeBans; you can use the BlockIp hook to replicate
- $wgSysopUserBans functionality.
-* The options on the block form have been standardised such that checking a box
- makes the block 'more serious'; so while "check to prevent account creation" and
- "check to enable autoblock" remain the same, "check to allow user-talk edit" is
- reversed to "check to *disable* user-talk edit", and "check to block anon-only"
- becomes "check to block logged-in users too". The default settings remain the same.
-* Most of the field names on the Special:Block form have been changed, which will
- probably break screen-scraping bots.
-* (bug 26866) The 'trackback' right is no longer granted to sysops by default.
- $wgUseTrackbacks is already false by default
-* (bug 17009) the hiddenStructure CSS class, a highly hackish way of at least *appearing*
- to hide article elements, has been removed. Use the ParserFunctions extension to
- actually remove unwanted elements from the output.
-* (bug 14202) $wgUseTeX has been superseded by the Math extension. To re-enable
- math conversion after upgrading, obtain the Math extension from SVN or from
- http://www.mediawiki.org/wiki/Extension:Math and add to LocalSettings.php:
- require_once "$IP/extensions/Math/Math.php";
-
-=== New features in 1.18 ===
-* Added a special page, disabled by default, that allows users with the
- 'disableaccount' privilege to permanently deactivate user accounts.
-* (bug 8130) Query pages should limit to content namespaces, not just main
- namespace
-* Search suggestions (other than in the Vector skin) will now use the HTML5
- datalist feature where supported, currently only Firefox 4.
-* Special:Contribs now redirects to Special:Contributions
-* (bug 6672) Images are now autorotated according to their EXIF orientation.
- This only affects thumbnails; the source remains unrotated.
-* (bug 25708) Update case mappings and normalization to Unicode 6.0.0
-* New hook ArticlePrepareTextForEdit added, called when preparing text to be
- saved.
-* New parser option PreSaveTransform added, allows the pre-save transformation
- to be selectively disabled.
-* Alternative to $wgHooks implemented, using the new Hooks class.
-* Add width parameter to Special:Filepath to allow getting the file path of a
- thumbnail.
-* (bug 26870) Add size to {{filepath:}}
-* Upload warnings now show a thumbnail of the uploaded file
-* Introduced the edittools-upload message, which will be inserted under the
- upload form instead of edittools if available
-* (bug 26285) Extensions will be automatically generated on upload if the user
- specified a filename without extension.
-* (bug 26851) Special:UserRights now allows to prefill the reason field
-* New maintenance script to fix double redirects
- (maintenance/fixDoubleRedirects.php)
-* (bug 23315) New body classes to allow easier styling of special pages
-* (bug 27159) Make email confirmation code expiration time configurable
-* CSS/JS for each user group is imported from MediaWiki:Sysop.js,
- MediaWiki:Autoconfirmed.css, etc.
-* (bug 24230) Uploads of ZIP types, such as MS Office or OpenOffice can now be
- safely enabled. A ZIP file reader was added which can scan a ZIP file for
- potentially dangerous Java applets. This allows applets to be blocked
- specifically, rather than all ZIP files being blocked.
-* (bug 2429) Allow selection of associated namespace in recent changes
-* (bug 26217) File size is now checked before uploading in HTML5 browsers
-* CSS stylesheet MediaWiki:Noscript.css is now loaded for users with JavaScript
- disabled (enclosed in the head in a <noscript> tag)
-* Added UserGetLanguageObject hook to change the language used in $wgLang
-* (bug 14645) When $wgMiserMode is on, expensive special pages are styled
- differently (italicized by default) on Special:SpecialPages
-* Added $wgAggregateStatsID, which allows UDP stats to be aggregated over
- several wikis.
-* When $wgAllowMicrodataAttributes is true, all itemtypes are allowed, not just
- the three that were defined in the original specification.
-* (bug 14706) Added support for the Imagick PHP extension.
-* (bug 18691) Added support for SVG rasterization using the Imagick PHP
- extension
-* (bug 2581, bug 6834) Added links to thumbnail in several resolutions to the
- file description page. The sizes are set by $wgImageLimits.
-* (bug 28031) Add pageCount support to ArchivedFile
-* (bug 27924) PhpHttpRequest doesn't return response body if HTTP != 200
-* Added hook BitmapHandlerTransform to allow extension to transform a file
- without overriding the entire handler.
-* The parser now attempts to output markers for editsection tokens and defer the
- rendering of them post-cache to reduce parser cache fragmentation and ensure
- skin customizability of edit section links.
-* (bug 24755) AuthPlugin auto-creation of local accounts can now be aborted by
- other extensions by handling the 'AbortAutoAccount' hook, similar to the
- 'AbortNewAccount' triggered by explicit account creations. (They are separate
- to avoid loops and confusion; auth plugins like CentralAuth need to handle
- AbortNewAccount separately.
-* Special:ListFiles is now transcludable.
-* (bug 13879) Special:Emailuser asks for suitable target user if called without.
-
-
-=== Bug fixes in 1.18 ===
-* (bug 23119) WikiError class and subclasses are now marked as deprecated
-* (bug 10871) Javascript and CSS pages in MediaWiki namespace are no longer
- treated as wikitext on preview.
-* (bug 22753) Output from update.php is more clear when things changed, entries
- indicating nothing changed are now all prefixed by "..."
-* Page existence is now not revealed (in the colour of the tabs) to users who
- cannot read the page in question.
-* (bug 19006) {{REVISIONUSER}} no longer acts like {{CURRENTUSER}} in some cases
-* (bug 16019) $wgArticlePath = "/$1" no longer breaks API edit/watch actions
-* (bug 18372) File types blacklisted by $wgFileBlacklist will no longer be shown
- as "Permitted file types" on the upload form
-* (bug 26379) importImages.php gives more descriptive error message on failure.
-* (bug 26410) + signs are no longer treated as spaces in internal links if
- link has a % sign in it.
-* (bug 26412) Search results headers no longer show a bogus edit link.
-* (bug 26540) Fixed wrong call to applyPatch in MysqlUpdater
-* (bug 26574) Added 'upload' to $wgRestrictionTypes, allowing upload protected
- pages to be queried via the API and Special:ProtectedPages, and allowing
- disabling upload protection by removing it from $wgRestrictionTypes.
-* If an edit summary exceeds 250 bytes and is truncated, add an ellipse
-* (bug 26638) Database error pages display correctly in RTL languages
-* (bug 26187) Confirmrecreate no longer parses the edit summary
-* (bug 25506) Exception is thrown if OutputPage::parse is called inside a tag
- hook, which would reset parser state
-* (bug 26208) Mark directionality of some interlanguage links
-* (bug 26034) Make the "View / Read" tab in content_navigation style tabs remain
- selected when the action is "purge".
-* (bug 14267) Support a MediaWiki:Mainpage-nstab override for the subject
- namespace tab on the mainpage of a wiki.
-* (bug 10158) Do not mention allowing others to contact you when the feature
- is disabled ($wgEnableUserEmail=false)
-* (bug 26733) Wrap initial table creation in transaction
-* (bug 26729) Category pages should return 404 if they do not exist and have no
- members.
-* (bug 2585) Image pages should send 404 if no image, no shared image and no
- description page.
-* Custom editintro's using the editintro url parameter will no longer show
- <noinclude> sections on pages they are included on.
-* (bug 26449) Keep underlines from headings outside of tables and thumbs by
- adding overflow:hidden to h1,h2,h3,h4,h5,h6 (also fixes editsection bunching).
-* (bug 26708) Remove background-color:white from tables in Monobook and Vector.
-* (bug 28422) Remove color:black from tables in Monobook and Vector. And add it
- to table.wikitable instead.
-* (bug 26781) {{PAGENAME}} and related parser functions escape their output
- better.
-* (bug 26716) Provide link to instructions for external editor related
- preferences and add a comment to the ini control file explaining what is
- going on.
-* Trying to upload a file with no extension or with a disallowed MIME type now
- gives the right message instead of complaining about a MIME/extension mismatch
-* (bug 26809) Uploading files with multiple extensions where one of the
- extensions is blacklisted now gives the proper extension in the error message.
-* (bug 26961) Hide anon edits in watchlist preference now actually works.
-* (bug 19751) Filesystem is now checked during image undeletion
-* Send last modified headers for Special:Recentchanges when RC patrol is
- enabled, but user cannot see rc patrol links.
-* (bug 26548) ForeignAPIRepo (InstantCommons) now works with PDF files
- and other multi-paged file formats.
-* Files with a mime type that does not match the extension are now properly
- thumbnailed
-* (bug 27201) Special:WhatLinksHere output no longer contains duplicate IDs
-* (bug 15905) Nostalgia skin could become more usable by including a Talk:
- link at the top of the page
-* (bug 27560) Search queries no longer fail in walloon language
-* (bug 27679) Broken embedded files with special characters are no longer
- double HTML escaped
-* (bug 27700) The upload protection can now also be set for files that do not
- exist.
-* (bug 27763) Article::getParserOutput() no longer throws a fatal given when an
- incorrect revision ID is passed.
-* Trim the form field for uploading by url to remove extra spaces which could
- cause confusing error messages.
-* (bug 27854) Http::isValidURI is way too lax.
-* Do not show enotifminoredits preference, if disabled by $wgEnotifMinorEdits.
-* AbortLogin returning "ABORTED" now handled. Also allows message identifier
- for "ABORTED" reason to be returned and displayed to user.
-* (bug 28034) uploading file to local wiki when file exists on shared repository
- (commons) gives spurious info in the warning message
-* Usernames get lost when selecting different sorts on Special:listfiles
-* (bug 14005) editing section 0 of an existing but empty page gives no such
- section error
-* (bug 26939) Installer does not set $wgMetaNamespace
-* (bug 28166) UploadBase assumes that 'edit' and 'upload' rights are not per
- page restrictions
-* Make truncate function automatically consider length of '...' string,
- since length can vary by localization.
-* (bug 28242) Make redirects generated by urls containing a local interwiki
- prefix be a 301 instead of a 302.
-* (bug 15641) blocked administrators are now prevented from deleting or protecting
- their own talk page; and all blocked users are more comprehensively prevented
- from performing other actions
-* (bug 15641) Fixed positioning of permissions checks in Special:Import which
- allowed users without the 'import' permission to import pages if they directly
- submitted the form.
-* (bug 27893) Edit-on-doubleclick now applies only on view and purge actions;
- no longer triggers unexpectedly on delete, history etc.
-* (bug 28417) Fix PHP notice when importing revision without a listed id
-* (bug 28430) Make html and TeX output of <math> always be left-to-right.
-* (bug 28306) Fix exposure of suppressed usernames in ForeignDBRepo
-* (bug 28372) Fix bogus link to suppressed file versions in ForeignDBRepo
-* (bug 27473) Fix regression: bold, italic no longer interfere with linktrail for ca, kaa
-* (bug 28444) Fix regression: edit-on-doubleclick retains revision id again
-* ' character entity is now allowed in wikitext
-
-=== API changes in 1.18 ===
-* (bug 26339) Throw warning when truncating an overlarge API result
-* (bug 14869) Add API module for accessing QueryPage-based special pages
-* (bug 14020) API for Special:Unwatchedpages
-* (bug 24287) Wrap API Help output at 100 characters
-* Add a realname uiprop option to query=userinfo so a user's realname can be
- extracted
-* Add a &watchuser option to ApiBlock
-* (bug 26541) Generator-ise ApiQueryRecentChanges
-* action=parse now correctly returns an error for nonexistent pages
-* (bug 25767) Add userrights properties to allusers and users query lists
-* (bug 26558) list=allusers auprop=groups does not list groups a user is
- automatically a member of
-* (bug 26559) list=allusers auprop=rights does not match
- list=users usprop=rights
-* (bug 26560) On allusers if limit < total number of users, last user gets
- duplicate
-* (bug 25135) add "normalized" to action=parse
-* (bug 26460) Add support for listing category members by category pageid
-* (bug 26482) add a imimages param to prop=images
-* (bug 26498) allow LinksUpdate with API
-* (bug 26485) add a elextlinks param to prop=extlinks
-* (bug 26483) add a iwtitles param to prop=iwlinks
-* (bug 26484) add a lltitles param to prop=langlinks
-* (bug 26480) add a pppageprops param to prop=pageprops
-* (bug 26650) Remove $wgAPICacheHelp in favour of $wgAPICacheHelpTimeout
-* (bug 24650) Fix API to work with categorylinks changes
-* Expose list of skins in meta=siteinfo
-* (bug 26548) Add iiurlparam param to query=imageinfo and query=stashimageinfo
-* (bug 27205) aiprop=metadata and aiprop=parsedcomment need help text
-* Add a amtitle param to meta=allmessages
-* (bug 25832) query=allimages now outputs ns/title as well
-* (bug 27199) Thumbnail urls can be fetched for old files as well
-* (bug 27376) when using ApiBase::PARAM_TYPE => 'integer' without a min or
- max value, api doesn't validate the input is actually an integer
-* (bug 27479) API error when using both prop=pageprops and
- prop=info&inprop=displaytitle
-* (bug 27554) Update api information text to reflect change in bug 26125
-* (bug 27611) list=blocks: Use ipb_by_text instead of join with user table
-* (bug 27616) Add userid of blocked user and blocker to list=blocks
-* (bug 27688) Simplify queries to list user block information
-* (bug 27708) list=users does not have a property to return user id
-* (bug 27715) imageinfo didn't respect revdelete
-* (bug 27862) Useremail module didn't properly return success on success.
-* (bug 27590) prop=imageinfo now allows querying the media type
-* (bug 27587) list=filearchive now outputs full title info
-* (bug 27018) Added action=filerevert to revert files to an old version
-* (bug 27897) list=allusers and list=users list hidden users
-* (bug 27717) API's exturlusage module does not respect $wgMiserMode
-* (bug 27588) list=filearchive&faprop=sha1 returns empty attribute
-* (bug 28010) Passing a non existant user to list=users gives internal error
-* (bug 27549) action=query&list=users&usprop=groups doesn't show implicit
- groups if a user doesn't have explicit groups
-* (bug 27670) Ordering by timestamp (and usage of start and end) isn't as clear
- in auto generated document, as it is on mw.org
-* (bug 27182) API: Add filter by prefix for meta=allmessages
-* (bug 27183) API: Add filter by customisation state for meta=allmessages
-* (bug 27340) API: Allow listing of "small" categories
-* (bug 27342) Add audir param to list=allusers
-* (bug 27203) add fato param to list=filearchive
-* (bug 27341) Add drto param to list=deletedrevs
-* (bug 26630) Add api for Special:ActiveUsers
-* (bug 27020) API: Allow title prefix search of logevents (only when not in
- miser mode)
-* (bug 26629) add Special:MIMESearch to api
-* (bug 27585) add pagecount to list=filearchive
-* (bug 28104) Namespace for local pages in interwiki backlinks (iwbacklinks)
- is missing
-* (bug 27343) Add parseddescription to list=filearchive
-* (bug 27469) label implicit groups in list=allusers&auprop=groups/
- list=users&usprop=groups
-* Addition of APIQuerySiteInfoGeneralInfo hook to add extra information to
- the general site info results
-* (bug 16288) API: consider making closure status of wikis more clear
- with meta=siteinfo
-* (bug 27589) list=allimages&aiprop=archivename is useless
-* (bug 27586) Remove duplication of props in ApiQueryStashImageInfo
- by using ApiQueryImageInfo
-* (bug 28226) prop=extlinks&eloffset should be an integer
-* (bug 28070) Fix watchlist RSS for databases that store timestamps in a
- real timestamp field.
-* API upload errors may now return the parameter that needs to be changed and
- a sessionkey to fix the error.
-* (bug 28249) allow dupes in meta=allmessages&amargs
-* (bug 28263) cannot import xml with the api, when have not "import" user
- right, but "importupload"
-* (bug 28365) Added description for uiprop=preferencestoken in meta=userinfo
-* (bug 28394) Set forgotten parameters types in ApiUnblock
-* (bug 28395) Set forgotten parameters types in ApiParse
-* (bug 28368) add hint for multipart/form-data to api information of
- action=import&xml=
-* (bug 28391) action=feedwatchlist&allrev should be a bool
-* (bug 28364) add registration date to meta=userinfo
-* (bug 28254) action=paraminfo: Extract type from PARAM_DFLT if
- PARAM_TYPE is not set
-* (bug 27712) add parent_id to list=deletedrevs
-* (bug 28455) Add 'toponly' to recentchanges API module
-* (bug 26873) API: Add 'toponly' filter in usercontribs module
-
-=== Languages updated in 1.18 ===