]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - RELEASE-NOTES
MediaWiki 1.16.4
[autoinstalls/mediawiki.git] / RELEASE-NOTES
1 = MediaWiki release notes =
2
3 == MediaWiki 1.16.4 ==
4
5 2011-04-14
6
7 This is a security and maintenance release of the MediaWiki 1.16 branch.
8
9 === Summary of selected changes in 1.16 ===
10
11 Selected changes since MediaWiki 1.15 that may be of interest:
12
13 * A new skin called Vector was added
14
15 * Watchlists now have RSS/Atom feeds. RSS feeds generally are now hidden, 
16   since Atom is a better protocol and is supported by virtually all clients.
17
18 * It's now possible to block users from sending email via Special:Emailuser.
19
20 * The maintenance script system was overhauled. Most maintenance scripts now 
21   have a useful help page when you run them with --help.
22
23 * AdminSettings.php is no longer required in order to run maintenance scripts. 
24   You can just set $wgDBadminuser and $wgDBadminpassword in your 
25   LocalSettings.php instead.
26
27 * The preferences system was overhauled. Preferences are stored in a more 
28   compact format. Changes to site default preferences will automatically 
29   affect all users who have not chosen a different preference.
30
31 * Support for SQLite was improved. Some broken features were fixed, and it 
32   now has an efficient full-text search.
33
34 * The user groups ACL system was improved by allowing rights to be revoked, 
35   instead of just granted.
36
37 * A new localisation caching system was introduced, which will make MediaWiki 
38   faster for almost everyone, especially when lots of extensions are enabled.
39
40 By default, this new system makes a lot of database queries. If your database 
41 is particularly slow, or if your system administrator limits your query count, 
42 or if you want to squeeze as much performance as possible out of Mediawiki, 
43 set $wgCacheDirectory to a writable path on the local filesystem. Make sure 
44 you have the DBA extension for PHP installed, this will improve performance 
45 further.
46
47 == Changes since 1.16.3 ==
48
49 * (bug 28507) The change we made in 1.16.3 to fix bug 28235 (XSS for IE 6 
50   clients) was not actually sufficient to fix that bug. This release contains 
51   a second attempt, hopefully we have fixed it this time.
52
53 == Changes since 1.16.2 ==
54
55 * (bug 28449) Fixed permissions checks in Special:Import which allowed users 
56   without the 'import' permission to import pages from the configured import 
57   sources.
58 * (bug 28235) Fixed XSS affecting IE 6 and earlier clients only, due to those 
59   browsers looking for a file extension in the query string of the URL, and 
60   ignoring the Content-Type header if one is found.
61 * (bug 28450) Fixed a CSS validation issue involving escaped comments, which
62   led to XSS for Internet Explorer clients and privacy loss for other clients.
63
64 == Changes since 1.16.1 ==
65
66 * (bug 26642) Fixed incorrect translated namespace due to a regression in the
67   language converter.
68 * The interface translations were updated.
69 * (bug 27093, CVE-2011-0047): Fixed CSS injection vulnerability.
70 * (bug 27094) Fixed server-side arbitrary script inclusion vulnerability. 
71   Affects Windows servers only. A malicious file with extension ".php" must 
72   exist on the server for the exploit to be effective.
73
74 == Changes since 1.16.0 ==
75
76 * (bug 24981) Allow extensions to access SpecialUpload variables again
77 * (bug 24724) list=allusers was out by 1 (shows total users - 1)
78 * (bug 24166) Fixed API error when using rvprop=tags
79 * For wikis using French as a content language, Special:Téléchargement works 
80   again as an alias for Special:Upload.
81 * (bug 25167) Correctly load JS fixes for IE6 (fixing a regression in 1.16.0)
82 * (bug 25248) Fixed paraminfo errors in certain API modules.
83 * The installer now has improved handling for situations where safe_mode is 
84   active or exec() and similar functions are disabled.
85 * (bug 19593) Specifying --server in now works for all maintenance scripts.
86 * Fixed $wgLicenseTerms register globals.
87 * (bug 26561) Fixed clickjacking vulnerabilities by introducing support for 
88   X-Frame-Options. The header value can be configured using $wgBreakFrames and
89   $wgEditPageFrameOptions.
90
91 == Changes since 1.16 beta 3 ==
92
93 * (bug 23769) Disabled HTML 5 client-side form validation. Was introduced in 
94   1.16 beta 1, but is currently poorly supported by browsers.
95 * (bug 23175) Re-added window.ta variable for backwards compatibility.
96 * (bug 23264) Fixed breakage of various command line scripts due to extra line
97   endings being inserted by Maintenance::output().
98 * Fixed HTTP client functionality with safe_mode=On.
99 * Fixed parser tests broken in 1.16 beta 3.
100 * For Oracle DB backend: fixed parser tests and table prefix feature.
101 * (bug 23767) Fixed PHP warning when REQUEST_URI is blank (IIS issue).
102 * Fixed plural function for Northern Sami (se)
103 * (bug 23597) Fixed conflicts between ID attributes in the Vector skin and 
104   parser-generated heading IDs. Renamed head, panel, head-base and page-base.
105 * Disabled $wgHitcounterUpdateFreq>1 feature on SQLite, does not work yet.
106 * (bug 23465) Don't ignore the predefined destination filename on 
107   Special:Upload after following a red link to a file.
108 * In SQLite full-text search feature: fixed "move page" feature, was non-
109   functional.
110 * (bug 24565) Fixed Cache-Control headers sent from API modules, to protect
111   user privacy in the case where an attacker can access the wiki through the
112   same HTTP proxy as a logged-in user.
113 * Fixed an XSS vulnerability in profileinfo.php for installations with 
114   $wgEnableProfileInfo = true (false by default)
115 * Fixed a case where an X-Vary-Options header was sent despite $wgUseXVO being
116   false. Fixed a minor header parsing issue when $wgUseXVO = true.
117 * Fixed a register_globals arbitrary inclusion vulnerability in 
118   MediaWikiParserTest.php, introduced in 1.16 beta 1.
119
120 == Changes since 1.16 beta 2 ==
121
122 * Fixed bugs in the [[Special:Userlogin]] and [[Special:Emailuser]] handling of
123   invalid usernames.
124 * Fixed sorting in [[Special:Allmessages]]
125 * (bug 23113) Fixed title in the show/hide links on diff pages
126 * (bug 23117) Fixed API rollback, was returning "badtoken" for valid requests
127 * (bug 23127) Re-added missing $1 parameter to the uploadtext message
128 * Fixed a bug in the Vector skin where personal tools display behind the logo
129 * (bug 23139) Fixed a bug in edit conflict resolution, where both textboxes 
130   showed the same text.
131 * (bug 23115, bug 23124) Fixed various problems with <title> and <h1> elements
132   in page views and previews when the language converter is enabled.
133 * (bug 23148) Fixed a local path disclosure vulnerability in ImageMagick image
134   scaling, which was introduced in 1.16 beta 1. 
135 * Improved error checking on installer.
136 * (bug 22970) Fixed a JavaScript error in the upload destination conflict 
137   check.
138 * (bug 23167) Check the watch checkbox by default if the watchcreations 
139   preference is set.
140 * (bug 23171) Improve IE6 version check to avoid false positives.
141 * (bug 23176) Fixed upload warning override feature "upload new version", 
142   broken in 1.16 beta 1.
143 * Fixed regression in unwatch links sent out in notification emails. When the 
144   mailing job was deferred via the job queue, the title was incorrect.
145 * (bug 23534) Fixed SQL query error in API list=allusers.
146 * Fixed a bug in uploads for non-JavaScript clients. An empty string was used
147   as the default destination filename, instead of the source filename as 
148   expected.
149 * (bug 23371) Fixed CSRF vulnerability in "e-mail me my password", "create 
150   account" and "create by e-mail" features of [[Special:Userlogin]]
151 * (bug 23687) Fixed XSS vulnerability affecting IE clients only, due to a CSS 
152   validation issue.
153 * Fixed a DoS vulnerability in ImageMagick image scaling. ImageMagick 
154   expanded wildcard characters "?" and "*" in image filenames, potentially 
155   causing large numbers of images to be scaled in response to a single request.
156   The fix for this involves breaking the scaling of such image filenames until
157   ImageMagick 6.6.1-5 or later is deployed, see bug 23361 for more details.
158 * (bug 23608) Fixed invalid HTML in diff pages.
159
160 === Changes since 1.16 beta 1 ===
161
162 * Fixed errors in maintenance/patchSql.php
163 * (bug 19627) Fix regression from r57867 where HTMLForm would output 
164   <element classes="foo bar"> rather than <element class="foo bar">
165 * Fixed broken "-r" option to maintenance/lag.php
166 * (bug 23076) Fixed login CSRF vulnerability. Logins now require a token to 
167   be submitted along with the user name and password.
168
169 === Configuration changes in 1.16 ===
170
171 * (bug 18222) $wgMinimalPasswordLength default is now 1
172 * $wgSessionHandler can be used to configure session.save_handler
173 * $wgLocalFileRepo/$wgForeignFileRepos now have a 'fileMode' parameter to
174   be used when uploading/moving files
175 * (bug 18761) $wgHiddenPrefs is a new array for specifying preferences not
176   to be shown to users
177 * $wgAllowRealName and $wgAllowUserSkin were deprecated in favor of
178   $wgHiddenPrefs[] = 'realname', but the former are still retained
179   for backwards-compatibility
180 * (bug 9257) $wgRCMaxAge now defaults to three months
181 * $wgDevelopmentWarnings can be set to true to show warnings about deprecated
182   functions and other potential errors when developing.
183 * Subpages are now enabled in the MediaWiki namespace by default.  This is
184   mainly a cosmetic change, and does not in any way affect the MessageCache,
185   which was already effectively treating the namespace as if it had subpages.
186 * Oracle: maintenance/ora/user.sql script for creating DB user on oracle with
187   appropriate privileges. Creating this user with web-install page requires
188   oci8.privileged_connect set to On in php.ini.
189 * Removed UserrightsChangeableGroups hook introduced in 1.14
190 * Added $wgCacheDirectory, to replace $wgFileCacheDirectory,
191   $wgLocalMessageCache, and any other local caches which need a place to put
192   files.
193 * $wgFileCacheDirectory is no longer set to anything by default, and so either
194   needs to be set explicitly, or $wgCacheDirectory needs to be set instead.
195 * $wgLocalMessageCache has been removed. Instead, set $wgUseLocalMessageCache
196   to true
197 * Removed $wgEnableSerializedMessages and $wgCheckSerialized. Similar
198   functionality is now available via $wgLocalisationCacheConf.
199 * $wgMessageCache->addMessages() is deprecated. Messages added via this
200   interface will not appear in Special:AllMessages.
201 * $wgRegisterInternalExternals can be used to record external links pointing
202   to same server
203 * (bug 19907) $wgCrossSiteAJAXdomains and $wgCrossSiteAJAXdomainExceptions added
204   to control which external domains may access the API via cross-site AJAX.
205 * $wgMaintenanceScripts for extensions to add their scripts to the default list
206 * $wgMemoryLimit has been added, default value '50M'
207 * $wgExtraRandompageSQL is deprecated, the SpecialRandomGetRandomTitle hook
208   should be used instead
209 * (bug 20489) $wgIllegalFileChars added to override the default list of illegal
210   characters in file names.
211 * (bug 19646) $wgImgAuthDetails added  to display reason access to uploaded file
212   was denied to users(img_auth only)
213 * (bug 19646) $wgImgAuthPublicTest added to test to see if img_auth set up
214   correctly (img_auth only)
215 * $wgUploadMaintenance added to disable file deletions and restorations during
216   maintenance
217 * $wgCapitalLinkOverrides added to configure per-namespace capitalization
218 * (bug 21172) $wgSorbsUrl can now be an array with multiple DNSBL and renamed
219   to $wgDnsBlacklistUrls (backward compatibility kept)
220 * $wgEnableHtmlDiff has been removed
221 * (bug 3340) $wgBlockCIDRLimit added (default: 16) to configure the low end of
222   CIDR ranges for blocking
223 * $wgUseInstantCommons added for quick and easy enabling of Commons as a remote
224   file repository
225 * $wgDBAhandler added to choose a DBA handler when using CACHE_DBA
226 * $wgPreviewOnOpenNamespaces for extensions that create namespaces that behave
227   similarly to the category namespace.
228 * $wgEnableSorbs renamed to $wgDnsBlacklistUrls ($wgEnableSorbs kept for
229   backward compatibility)
230 * $wgUploadNavigationUrl now also affects images inline images that do not
231   exist. In that case the URL will get (?|&)wpDestFile=<filename> appended to
232   it as appropriate.
233 * If $wgLocaltimezone is null, use the server's timezone as the default for
234   signatures. This was always the behaviour documented in DefaultSettings.php
235   but has not been the actual behaviour for some time: instead, UTC was used
236   by default.
237 * Added $wgExtensionAssetsPath, to decouple assets serving from $wgScriptPath.
238   If not specified it will default to $wgScriptPath/extensions
239 * Added $wgCountTotalSearchHits to make search UI display total number of hits
240   with some search engines.
241 * Added $wgAdvertisedFeedTypes to decide what feed types (RSS, Atom, both, or
242   neither) MediaWiki advertises.  Default is array( 'atom' ), so RSS is no
243   longer advertised by default (but it still works).
244 * Added $wgMemCachedTimeout, controls how long to wait for data from the
245   memcached servers.
246 * New configuration variables $wgDebugTimestamps and $wgDebugPrintHttpHeaders
247   for controlling debug output.
248 * New $wgBlockDisablesLogin when set to true disallows blocked users from
249   logging in.
250 * (bug 8790) Metadata edition ($wgUseMetadataEdit) has been moved to a separate
251   extension "MetadataEdit".
252
253 === New features in 1.16 ===
254
255 * A new skin called Vector was added
256 * Add CSS defintion of the 'wikitable' class to shared.css
257 * (bug 17163) Added MediaWiki:Talkpageheader which will be displayed when
258   viewing talk pages
259 * Superfluous border="0" removed from images
260 * Added new hook 'MessageCacheReplace' into MessageCache.php. For instance
261   to allow extensions to update caches in similar way as MediaWiki invalidates
262   a cached MonoBook sidebar
263 * Special:AllPages: Move hardcoded styles from code to CSS
264 * (bug 18529) New hook: SoftwareInfo for adding information about the software
265   to Special:Version
266 * Added $wgExtPGAlteredFields to allow extensions to easily alter the data
267   type of columns when using the Postgres backend.
268 * (bug 16950) Show move log when viewing/creating a deleted page
269 * (bug 18242) Show the Subversion revision number per extensions in
270   Special:Version
271 * (bug 18420) Missing file revisions are handled gracefully now
272 * (bug 9219) Auth plugins can control editing RealName/Email/Nick preferences
273 * (bug 18466) Add note or warning when overruling a move (semi-)protection
274 * (bug 18342) insertTags works in edit summary box
275 * (bug 18411) The upload form also checks post_max_size
276 * Watchlist now has a specialized <div> tag that contains a unique class for
277   each page
278 * Added Minguo calendar support for the Taiwan Chinese language
279 * Database: unionQueries function to be used for UNION sql construction, so
280   it can be overloaded on DB abstraction level for DB specific functionality
281 * (bug 18849) Implement Japanese and North Korean calendars
282 * (bug 5755) Introduce {{CURRENTMONTH1}} and {{LOCALMONTH1}} to display the
283   month number without the leading zero
284 * (bug 13456) categoriespagetext supports PLURAL
285 * (bug 18860) Blocks of IPs affecting registered users can now block email
286 * (bug 17093) Date and time are separate parameters in Special:BlockList
287 * (bug 11484) Added ISO speed rating to default collapsed EXIF metadata view
288 * (bug 14866) Messages 'recentchangeslinked-toolbox' and
289   'recentchangeslinked-toolbox' were added to allow more fine grained
290   customisation of the user interface
291 * DISPLAYTITLE now accepts a limited amount of wiki markup (the single-quote
292   items)
293 * Special:Search now could search terms in all variant-forms. ONLY apply on
294   wikis enabled LanguageConverter.
295 * Add autopromote condition APCOND_BLOCKED to autopromote blocked users to
296   various user groups.
297 * Add $wgRevokePermissions as a means of restricting a group's rights. The
298   syntax is identical to $wgGroupPermissions, but users in these groups will
299   have these rights stripped from them.
300 * Added a PHP port of CDB (constant database), for improved local caching when
301   the DBA extension is not available.
302 * Introduced a new system for localisation caching. The system is based around
303   fast fetches of individual messages, minimising memory overhead and startup
304   time in the typical case. The database backend will be used by default, but
305   set $wgCacheDirectory to get a faster CDB-based implementation.
306 * Expanded the number of variables which can be set in the extension messages
307   files.
308 * Added a feature to allow per-article process pool size control for the parsing
309   task, to limit resource usage when the cache for a heavily-viewed article is
310   invalidated. Requires an external daemon.
311 * (bug 19576) Moved the id attribues from the anchors accompanying section
312   headers to the <span class="mw-headline"> elements within the section headers,
313   removing the redundant anchor elements.
314 * Parser::setFunctionTagHook now can be used to add a new tag which is parsed at
315   preprocesor level.
316 * Added $wgShowArchiveThumbnails, allowing sysadmins to disable thumbnail
317   display for old versions of images.
318 * In watchlists and Special:RecentChanges, the difference in page size now
319   appears in dark green if bytes were added and dark red if bytes were removed.
320 * Added FSRepo configuration properties thumbUrl and thumbDir, to allow the
321   thumbnails to be stored in a separate location to the source images.
322 * If config/ directory is not executable, the command to make it executable
323   now asks the user to cd to the correct directory
324 * Add experimental new external authentication framework, ExternalAuth
325 * (bug 18768) Remove AdminSettings requirements. Maintenance environment
326   will still load it if it exists, but it's not required for anything
327 * (bug 19900) The "listgrouprights-key" message is now wrapped in a div with
328   class "mw-listgrouprights-key"
329 * (bug 471) Allow RSS feeds for watchlist, using an opt-in security token
330 * (bug 10812) Interwiki links can have names and descriptions, fetched from
331   message 'interwiki-desc-PREFIX', not really used anywhere yet though
332 * (bug 9691) Add type (signup or login) parameter to
333   AuthPlugin::ModifyUITemplate()
334 * (bug 14454) "Member of group(s)" in Special:Preferences causes language
335   difficulties
336 * (bug 16697) Unicode combining characters are difficult to edit in some
337   browsers
338 * Parser test supports uploading results to remote CodeReview instance
339 * (bug 20013) Added CSS class "mw-version-ext-version" is wrapped on the
340   extension version in Special:Version
341 * (bug 20014) Added CSS class "mw-listgrouprights-right-name" is wrapped on the
342   right name in Special:ListGroupRights
343 * (bug 12920) New CoreParserFunction {{nse:...}} as an url-friendly equivalent
344   to {{ns:...}}
345 * (bug 16322) Allow maintenance scripts to accept DB user/pass over input or
346   params
347 * (bug 18566) Maintenance script to un/protect pages
348 * (bug 671) The HTML <abbr> tag is now permitted.
349 * RecentChanges now has a legend to explain what the Nmb! flags mean, and the
350   flags have tooltips.
351 * (bug 15209) New hook BeforeInitialize called after everything has been setup
352   but before Mediawiki::performRequestForTitle()
353 * wgMainPageTitle variable now available to JavaScript code to identify the main
354   page link, so it doesn't have to be extracted from the link URLs.
355 * (bug 16836) Display preview of signature in user preferences and describe its
356   use
357 * The default output format is now HTML 5 instead of XHTML 1.0 Transitional.
358   This can be disabled by setting $wgHtml5 = false;.  Specific features enabled
359   if HTML 5 is used:
360 ** Some extra inputs will be autofocused, in supporting browsers.
361 ** The summary attribute has been removed from tables of contents.  summary is
362    obsolete in HTML 5 and wasn't useful here anyway.
363 ** Unnecessary type="" attribute removed for CSS and JS.
364 ** If $wgWellFormedXml is set to false, some bytes will be shaved off of HTML
365    output by omitting some things like quotation marks where HTML 5 allows.
366 ** (bug 16921) maxlength enabled for page move comments
367 * The description message in $wgExtensionCredits can be an array with parameters
368 * New hook SpecialRandomGetRandomTitle allows extensions to modify the selection
369   criteria used by Special:Random and subclasses, or substitute a custom result,
370   deprecating the $wgExtraRandompageSQL config variable
371 * (bug 20318) Distinct CSS classes for ISBN/RFC/PMID special links added
372 * (bug 20404) Custom fields in the user creation form template can now have
373   detail labels in prefsectiontip divs.
374 * MakeSysop and MakeBot are now aliases for Special:UserRights
375 * IndexPager->mLimitsShown can now be an associative array of limit => text-to-
376   display-in-limit-form.
377 * (bug 18880) LogEventsList::showLogExtract() can now take a string-by-reference
378   and add its HTML to it, rather than having to go straight to $wgOut.
379 * Added $wgShowDBErrorBacktrace, to allow users to easily gather backtraces for
380   database connection and query errors.
381 * Show change block / unblock link on Special:Contributions if user is blocked
382 * Display note on Special:Contributions if the user is blocked, and provide an
383   excerpt from the block log.
384 * (bug 19646) New hook: ImgAuthBeforeStream for tests and functionality before
385   file is streamed to user, but only when using img_auth
386 * Note on non-existing user and user talk pages if user does not exist
387 * New hook ShowMissingArticle so extensions can modify the output for
388   non-existent pages.
389 * Admins could disable some variants using $wgDisabledVariants now. ONLY apply
390   on wikis enabled LanguageConverter.
391 * (bug 16310) Credits page now lists IP addresses rather than saying the number
392   of anonymous users that edited the page
393 * New permission 'sendemail' added. Default right for all registered users. Can
394   for example be used to prevent new accounts from sending spam.
395 * (bug 16979) Tracking categories for __INDEX__ and __NOINDEX__
396 * Two new hooks, ConfirmEmailComplete and InvalidateEmailComplete, which are
397   called after a user's email has been successfully confirmed or invalidated.
398 * (bug 19741) Moved the XCF files out of the main MediaWiki distribution, for
399   a smaller subversion checkout.
400 * (bug 13750) First letter capitalization can now be a per-namespace setting
401 * (bug 21073) "User does not exist" message no longer displayed on sub-sub-pages
402   of existing users
403 * (bug 21095) Tracking categories produced by the parser (expensive parser
404   function limit exceeded, __NOINDEX__ tracking, etc) can now be disabled by
405   setting the  system message ([[MediaWiki:expensive-parserfunction-category]]
406    etc) to "-".
407 * Added maintenance script sqlite.php for SQLite-specific maintenance tasks.
408 * Rewrote Special:Upload to allow easier extension.
409 * Upload errors that can be solved by changing the filename now do not require
410   reuploading.
411 * Added $wgRateLimitsExcludedIPs, to allow specific IPs to be whitelisted from
412   rate limits.
413 * (bug 21222) When $wgUseTeX is not enabled, <math> is no longer registered with
414   the parser so extensions are free to implement their own <math> tag
415 * (bug 21047) Wrap 'cannotdelete' into a div with the generic 'error' class and
416   an own 'mw-error-cannotdelete' class
417 * New hook AbortNewAccountAuto, called before account creation from AuthPlugin-
418   or ExtUser-driven requests.
419 * (bug 3480) The warning saying that the page has a history when deleting it now
420   contains the number of revisions in the history
421 * $wgStylePath and $wgLogo are now set in the default LocalSettings.php file.
422 * (bug 20186) Allow filtering history for revision deletion.
423 * New hook OtherBlockLogLink, called in Special:IPBlockList and Special:Block
424   to show links to block logs of other blocking extensions, i.e. GlobalBlocking
425 * Added search capabilities to SQLite backend
426 * rebuildtextindex.php maintenance script now supports databases other than
427   MySQL
428 * upgrade1_5.php now requires to be run --update option to prevent confusion
429 * (bug 17662) Customizable default preload/editintro for new sections in the
430   respective addsection-preload and addsection-editintro messages
431 * Added maintenance script checkSyntax.php that checks for PHP syntax errors
432   and common coding mistakes
433 * Updated Unicode normalization tables
434 * (bug 21604) Spellcheck attribute for editsummary
435 * New wgCategories JavaScript global variable for userscripts.
436 * (bug 20717) Added checkboxes to hide users with bot and/or sysop group
437   membership in SpecialActiveusers
438 * Allow \pagecolor and \definecolor in texvc
439 * $wgTexvcBackgroundColor contains background color for texvc call
440 * (bug 21574) Redirects can now have "303 See Other" HTTP status
441 * EditPage refactored to allow extensions to derive new edit modes much easier.
442 * (bug 21826) Subsections of Special:Version now also have anchors
443 * (bug 19791) Add URL of file source as comment to thumbs (for ImageMagick)
444 * (bug 21946) Sorted wikitables do not properly handle minus signs
445 * (bug 18885) Red links for media files do not support shared repositories
446 * Added $wgFixArabicUnicode, to convert deprecated presentation forms in
447   Arabic text to their modern equivalents, and $wgFixMalayalamUnicode, to
448   convert ZWJ-based chillu sequences in Malayalam text to their Unicode 5.1
449   equivalents.
450 * (bug 22051) Returing false in SpecialContributionsBeforeMainOutput hook now
451   stops normal output
452 * Send new password e-mail in users preference language
453 * LanguageConverter now support nested using of manual convert syntax like
454   "-{-{}-}-"
455 * Upload license preview now uses the API instead of action=ajax
456 * (bug 7346) Add <guid> to RSS to avoid duplicates
457 * (bug 19996) Added new hooks for Special:Search, which allow to further
458   restrict/expand it.
459 * (bug 21936) When a revision has been patrolled, there's now a link back to the
460   article
461 * (bug 22315) SpecialRecentChangesQuery hook now pass $query_options and checks
462   the return value
463 * Separate unit test suites under t/ and tests/ were merged and moved to
464   maintenance/tests/.
465 * importImages.php maintenance script can now use the original uploader and 
466 comment from another wiki.
467 * Support for Turck MMCache was removed
468 * (bug 14592) Warn users when they try to move their user page that their
469   account will not be renamed
470 * Show block log on non-existing user (talk) pages of currently blocked users
471
472 === Bug fixes in 1.16 ===
473
474 * (bug 18031) Make namespace selector on Special:Export remember the previous
475   selection
476 * The svn-version version numbers on Special:Version have been removed
477 * (bug 17374) Special:Export no longer exports two copies of the same page
478 * (bug 18190) Proper parsing in MediaWiki:Sharedupload message
479 * (bug 17617) HTML cleanup for ImagePage
480 * (bug 17964) namespaceDupes.php no longer fails on an empty interwiki table
481 * Improved error handling for image moving
482 * (bug 17974) On Special:SpecialPages, restricted special pages are now marked
483   with <strong> tags, helps with text-based browsers
484 * (bug 18259) Special:DeletedContributions now also uses
485   MediaWiki:Sp-contributions-logs for the link to Special:Log
486 * Don't add empty title="" attributes to links to anchors on the current page
487 * (bug 18291) rebuildrecentchanges.php failed to add deletion log entries
488 * (bug 18304) rebuildrecentchanges.php got size changes wrong
489 * (bug 18170) Fixed a PHP warning in Parser::preSaveTransform() in PHP 5.3
490 * (bug 18289) Database connection error page now returns correct HTML
491 * "successbox", "errorbox" and related CSS classes are now available in all
492   skins
493 * (bug 18316) Removed superfluous name="fulltext" from Special:Search
494 * (bug 18331) MediaWiki:Undelete-revision can now have wikitext
495 * The "noautoblock" flag is no longer displayed in the block log when blocking
496   an IP address
497 * (bug 18009) $wgHooks and $wgExtensionFunctions now support closures
498 * (bug 17948) Maintenance scripts now exit(0) or exit(1) as appropriate
499 * (bug 18377) Time in Enhanced ChangesList lacking localisation
500 * (bug 12998) Allow <sup>, <sub>, etc. in DISPLAYTITLE
501 * (bug 1553) Lowercase navigation headings in German
502 * (bug 7830) Pending transactions failed to commit on loginToUse() error
503 * (bug 11613) session.save_handler being over-ridden
504 * (bug 11381) session.save_handler being set twice (causes error)
505 * (bug 17835) ForeignAPIRepo throwing error on first page load for file
506 * (bug 18115) ForeignAPIRepo cache isn't working
507 * Fixed a bug caused by LanguageConverter.php, which brings an abnormal '}-'
508   after some parsed math syntax.
509 * (bug 18441) rebuildrecentchanges.inc no longer ignores $wgLogRestrictions
510 * (bug 18317) Bolded selections in 1 | 3 | etc days on RecentChanges now use
511   <strong> instead of hardcoded styles
512 * (bug 18449) Fixed items number per column on category pages when the total is
513   divisible by 3
514 * (bug 18121) maintenance/deleteArchivedRevisions.php no longer deletes
515   revisions when --delete is not passed
516 * (bug 13172) GPS coordinates in image Exif data are now actually displayed
517 * Overhaul of preferences system, includes the following bug fixes:
518 ** (bug 5363) Changes to default preferences now impact registered users.
519 ** (bug 14806) Hook to enable putting preferences in existing tabs.
520 ** (bug 17191) Registration date now listed on preferences page.
521 ** The user_properties table (now used for storing preferences) has been added
522    to $wgSharedTables.
523 ** Note that this change will break some extensions which have not been adapted
524    for it.
525 * (bug 17020) Adding fallback encodings for Traditional and Simplified Chinese
526   languages while the the text is typed as URLs.
527 * (bug 17614) Prev / Next links are not shown if all results are shown
528 * (bug 18207) Strange spacing before [[irc:...]] links
529 * Removed float from the user login form in RTL interface - caused display
530   problems in FF2
531 * (bug 15008) Redirect images are now subject to Bad image list rules
532 * (bug 6802) profileinfo.php now also work on other database servers than MySQL
533 * (bug 16925) Diffs no longer fail when $wgExternalDiffEngine is set to
534   'wikidiff' or 'wikidiff2' but extension is not installed
535 * (bug 18326) Chmod errors in file repos have been hidden
536 * (bug 18718) Comma after a } create a error in IE
537 * (bug 18716) Removed redundant class in Modern skin CSS for category links and
538   tweaked spacing.
539 * (bug 18656) Use proper directory separators in wfMkdirParents()
540 * (bug 18549) Make Special:Blockip respect $wgEnableUserEmail and
541   $wgSysopEmailBans
542 * (bug 16912) Tooltips on images with link= disappear
543 * (bug 18389) Localise numbers in EXIF data
544 * (bug 18522) Wrap MediaWiki:Protect-cascadeon in a div for identification
545 * (bug 18438) Tweak HTML for preview bar for consistency and accessibility
546 * (bug 18432) Updated documentation for dumpBackup.php
547 * Fix array logic in Sanitizer::removeHTMLtags so that it doesn't strip good
548   tags that were redundantly defined.
549 * (bug 14118) SpecialPage::getTitleFor does not return a localised name
550 * (bug 18698) Renaming non entry point maintenance scripts from .inc.php to
551   .inc
552 * Deprecated methods Title::getInterwikiLink, Title::userCanCreate(),
553   Title::userCanEdit() and Title::userCanMove() have been removed
554 * Only show upload links on file description if $wgEnableUploads = true
555   and user can upload
556 * Don't say "You need to log in to upload/move", because it's possible that
557   uploading/moving is disabled for registered users as well (e.g. only sysops)
558 * (bug 18943) Handle invalid titles gracefully at Special:Mostlinked
559 * (bug 8873) Enable variant conversion in text on 'alt' and 'title' attributes
560 * (bug 10837) Introducing the StubUserVariant class to determine the variant
561   variable instead of using this to overrules the user language preference.
562 * (bug 19014) If user had deletedhistory right, but not undeleted right, then
563   show "view" instead of "view/restore" on logs.
564 * (bug 19017) TOC level calculation error in an odd case
565 * (bug 18999) CSS update for RTL interwiki links
566 * (bug 18925) history.js removes class names of list elements on initialization
567 * Multiple whitespace in TOC anchors is now stripped, for consistency with the
568   link from the edit comment
569 * (bug 19112) Preferences now respects $wgUseExternalEditor
570 * (bug 18173) MediaWiki now fails when unable to determine a client IP
571 * (bug 19170) Special:Version should follow the content language direction
572 * (bug 19160) maintenance/purgeOldText.inc is now compatible with PostgreSQL
573 * Fixed performance regression in "bad image list" feature
574 * Show user preference 'Use live preview' if $wgLivePreview is enabled only
575 * (bug 17014) Blocked users can no longer use Special:UserRights unless they
576   can add/remove *all* groups (have 'userrights' permission).
577 * (bug 19294) Always show Sp-contributions-footer(-anon)
578 * Attempts to restrict reading of pages while anonymous viewing is allowed
579   via extensions not using the userCan hook and via $wgRevokePermissions now
580   work.
581 * (bug 8445) Multiple-character search terms are now handled properly for
582   Chinese
583 * (bug 19450) Use formatNum for "Number of edits" in Special:Preferences
584 * (bug 11242) Check for MySQL storage engines during installation now checks
585   whether the engines are actually available
586 * (bug 19390) Omit the "printable version" link on the printable version
587 * (bug 18394) img_auth.php now respects userCan
588 * (bug 19509) Uploading to a file named '0' previously treated it as null input
589    and attempted to upload with the source name. Now warns about not having an
590    extension (since 0.ext is perfectly valid)
591 * (bug 19468) Enotif preferences are now only displayed when they are turned on
592 * (bug 19442) Show/hide options on watchlist only work once
593 * (bug 19602) PubMed Magic links now use updated NIH url
594 * (bug 19637) externallinks have links to self
595 * Don't load Opera 9.5 RTL fixes for Opera 9.6
596 * Remove five-year-old KHTMLFixes.css, which is unlikely to be relevant anymore
597   and was causing problems.
598 * Removed repetition of URIs in the title attributes of external links.
599 * (bug 19693) User name is now escaped in "Contributions for ..." link on
600   Special:BlockIP
601 * (bug 19571) Override buildConcat for SQLite.
602 * Log in and log out links no longer return to page view when clicked from
603   history view, edit page, or something similar
604 * (bug 19513) RTL fixes for new Search UI
605 * (bug 16497) Special:Allmessages is paginated
606 * (bug 18708) CSS plainlinks class now available to all skins
607 * (bug 19590) Database error messages no longer have "MySQL" hardcoded as the
608   database type
609 * (bug 19759) successbox on Special:Preferences now correctly aligned on
610   standard, nostalgia and cologneblue skin
611 * (bug 19814) interwiki links from file links ([[File:Foo.jpg|link=de:Test]])
612   are no longer recorded in the pagelinks table
613 * (bug 19784) date option "ISO 8601" produced illegal id
614 * (bug 19761) Removed autogenerated <meta keywords> tag with link data.
615   Keyword set was not useful, and is ignored by modern search engines anway.
616 * (bug 19827) Special:SpecialPages title is "Upload file
617 * (bug 19355) Added .xhtml, .xht to upload file extension blacklist
618 * (bug 19287) Workaround for lag on history page in Firefox 3.5
619 * (bug 19564) Updated docs/hooks.txt
620 * (bug 18751) Fix for buggage in profiling setup for some extensions on PHP 5.1
621 * (bug 17139) ts_resortTable inconsistent trimming makes date sorting fragile
622 * (bug 19445) Change oldimage table to use ON UPDATE CASCADE for FK to image
623   table.
624 * (bug 14080) Short notation links to subpages didn't work in edit summaries
625 * (bug 17374) Special:Export no longer exports multiple copies of pages
626 * (bug 19818) Edits to user CSS/JS subpages can now be marked as patrolled by
627   users who can't edit them
628 * (bug 19839) Comments in log items are no more double escaped
629 * (bug 18161) Fix inconsistent separators in watchlist link toolbars with
630   "enhanced recent changes"
631 * (bug 16877) Moving a page over a redirect no longer leaves an orphan entry in
632   the recentchanges table
633 * (bug 16009) Limit selection forms based on Pager now links to the correct page
634   when using long urls
635 * The display of the language list on the preferences is more comply with the
636   BCP 47 standards.
637 * (bug 19849) Custom X-Vary-Options header now disabled unless $wgUseXVO is set
638 * (bug 19301) Duplicates entries in $wgAddGroups, $wgRemoveGroups,
639   $wgGroupsAddToSelf and $wgGroupsRemoveFromSelf are no more displayed on
640   Special:ListGroupRights
641 * (bug 18799) Special:Userlogin now handles correctly the returnto parameter
642   to not link back to Special:Userlogout when user's language isn't the same as
643   content's language
644 * (bug 19479) Show proper error message when unable to connect to PostgreSQL
645   database with username/password in MediaWiki's setup
646 * (bugs 18407, 18409) Special:Upload is now listed on Special:Specialpages only
647   if uploads are enabled and the user can access it
648 * (bug 17988) Spaces before [[Category:]] links are no longer ignored
649 * (bug 19957) All known-failing tests now marked disabled; added --run-disabled
650   option to parser test suite to run disabled tests if desired.
651 * (bug 16311) Make recent change flags (n/m/b) <abbr>s instead of <span>s
652 * (bug 15680) Split the edit tip message of user CSS/JS subpage into
653   "usercssyoucanpreview" and "userjsyoucanpreview" respectively.
654 * (bug 12110) Split the rights for editing users' CSS/JS subpage from
655   "editusercssjs" into "editusercss" and edituserjs" respectively.
656 * (bug 19394) RecentChanges feed URLs for log items with no revisions
657   (eg Newuser, Userrights) are no longer broken
658 * (bug 17395) Remote file descriptions use user language ($wgLang), not wiki
659   language ($wgContLang)
660 * (bug 11867) Lock error on redirect table when running orphans.php
661 * (bug 18930) initStats.php now refreshes active users count
662 * (bug 18699) Using the nosummary URL option no longer triggers the "You have
663   not provided a summary" warning for those who activated it in their
664   preferences
665 * (bug 18855) commandLine.inc and Maintenance.php are now properly included
666   using the full path
667 * (bug 18497) Fixed broken style sheets in Opera fullscreen mode
668 * (bug 16084) Default memory limit has be increased to 50M, see $wgMemoryLimit
669 * (bug 17864/19519) Added proper input normalization in Special:UserRights
670 * (bug 20086) Add Hook to add extra statistics at the end of Special:Statistics
671 * (bug 19289) importDump.php can now handle bzip2 and 7zip
672 * (bug 20131) Fixed a PHP notice for users having the "rollback" right on
673   Special:RecentChangesLinked
674 * Do not transform EXIF fields with pure text to avoid results like
675   foo,bar@example,com
676 * (bug 20176) Fix login/logout links in skin CologneBlue
677 * (bug 20203) "Powered by Mediawiki" now has height/width on image tag
678 * (bug 20273) Fix broken output when no pages are found in the content
679   namespaces
680 * (bug 20265) Make AncientPages and UnusedFiles work on SQLite
681 * Fixed XSS vulnerability for Internet Explorer clients (only pre-release
682   versions of MediaWiki were affected).
683 * (bug 14817) Moving a page to a subpage of itself moves it twice
684 * (bug 20289) $wgMaximumMovedPages should only count pages actually moved
685 * (bug 15248) Non-breaking spaces and certain other Unicode space characters
686   are now normalized to ordinary spaces in titles; if your wiki has existing
687   titles with such characters, run cleanupTitles.php and/or cleanupImages.php
688 * (bug 11143) Links containing invalid UTF-8 percent-code sequences are now
689   cleanly disabled instead of breaking parsing entirely on PHP 5.2.
690 * (bug 20296) Fixed an PHP warning in Language::getMagic() in PHP 5.3
691 * (bug 20358) Unprotect tab was missing accesskey; now same as protect tab.
692 * (bug 20317) Cleaned up default main page link accesskey settings
693 * (bug 20362) Special:Statistics now produces valid HTML when view counters are
694   enabled
695 * (bug 19857) maintenance/deleteRevision.php on last revision no longer breaks
696   target page
697 * (bug 20365) Page name with with c/g/h/j/s/u + x are now correctly handled in
698   Special:MovePage with Esperanto as content language
699 * (bug 20364) Fixed regression in GIF metadata loading
700 * (bug 20299) MediaWiki:Move-subpages and MediaWiki:Move-talk-subpages can now
701   use wikitext
702 * (bug 15475) DatabaseBase::setFlag(), DatabaseBase::clearFlag() and
703   DatabaseBase::getFlag() now have documentation
704 * (bug 19966) MediaWiki:License-header is now used for the licensing header in
705   the file description page instead of MediaWiki:License
706 * (bug 20380) Links to history/deleted edits at the top of
707   Special:RevisionDelete are no more displayed when when doing log suppression
708 * (bug 8143) Localised parser function names are now correctly case insensitive
709   if they contain non-ASCII characters
710 * (bug 19055) maintenance/rebuildrecentchanges.php now purges
711   Special:Recentchanges's RSS and Atom feed cache
712 * The installer will now try to bypass PHP's max_execution_time
713 * (bug 20260) SQLite no longer tries to automatically create the database at
714   execution time, this now happens only at install time; if it is not available
715   at script execution, it now throws an exception
716 * Fixed EditFilterMerged hook so the hookError parameter serves a purpose
717   (analogous to EditFilter hook)
718 * (bug 2257) Tag extensions can expand template parameters provided to the tag,
719   by using a new parameter added to the recursiveTagParse function
720 * (bug 14900) __INDEX__ and __NOINDEX__ no longer override site config set in
721   $wgArticleRobotPolicies.
722 * (bug 20466) Hidden categories are no more displayed when printing
723 * (bug 20446) When changing user rights with User@remotewiki and remotewiki is
724   the local wiki, the user is now treated as the local user
725 * (bug 20494) OutputPage::getArticleBodyOnly() no longer requires an useless
726   argument
727 * (bug 20136) Protection form JavaScript now synchronizes the expiry boxes on
728   any change, in addition to onkeyup.
729 * Don't link to "edit this page" on MediaWiki:Noarticletext if user is not
730   allowed to create page. Done via new message
731   MediaWiki:Noarticletext-nopermission
732 * Improved compatibility between the Vector skin and addPortletLink() from
733   wikibits.js: empty portlets are now present but hidden, adding an element to a
734   portlet unhides it
735 * (bug 19531) addPortletLink() now wraps inserted labels in a <span> element to
736   be compatible with the CSS for the Vector skin
737 * (bug 20578) Wrong localized image metadata - duplicated string?
738 * (bug 20556) Stub threshold's "other" <input> in Special:Preferences now has a
739   correct type="text" parameter
740 * (bug 482) Don't include TOC in the printable version if it has been hidden
741 * Adjust the time according to the user configuration on Special:Revisiondelete
742 * (bug 20624) Installation no longer allows "qqq" as the chosen language
743 * (bug 20634) The installer-created database user will now have all rights on
744   the database so that upgrades will go more smoothly.
745 * (bug 18180) Special:Export ignores limit, dir, offset parameters
746 * User::getBlockedStatus() works for all kinds of user objects and doesn't
747   assume the user object is equal to the current-user object ($wgUser)
748 * (bug 20517) Cancel link from edit page now returns to the old version when
749   editing an old version
750 * (bug 16902) Installer no longer shows warnings when exec() has been disabled
751   by disable_functions
752 * (bug 20726) Title::getLatestRevID's documentation now says that the function
753   returns false if the page doesn't exist
754 * (bug 20751) ForeignApiRepo now urldecodes filenames when saving to local cache
755 * (bug 20730) Fix to Special:Version ViewVC link for branch checkouts
756 * (bug 20353) wfShellExec() was adding extra quotes on Windows Vista, causing
757   command line scripts to fail
758 * (bug 20702) Parser functions can now be used correctly in
759   MediaWiki:Missing-article
760 * (bug 14117) "redirected from" is now also shown on foreign file redirects
761 * (bug 17747) Only display thumbnail column in file history if the image can
762   be rendered.
763 * (bug 3421) Live preview no longer breaks user CSS/JS previews
764 * (bug 11264) The file logo on a file description page for documents (PDF, ...)
765   now links to the file rather than the file description page
766 * Password fields built with HTMLForm now still have the type="password"
767   attribute if $wgHtml5=false.
768 * (bug 20836) Preload now works for MediaWiki namespace
769 * (bug 20885) Search box no longer suggests unavailable special pages
770 * (bug 20948) "Create this page" on Special:Search is no longer displayed when
771   searching for special pages
772 * (bug 20524) Hideuser: Show nice error when trying to block hidden user without
773   hideuser right
774 * (bug 21026) Fixed file redirects on shared repos on non-English client wikis
775 * (bug 21030) Fixed schema choices from being overwritten by defining unique
776   field names per driver.
777 * (bug 21115) wgCanonicalSpecialPageName javascript variable is now always
778   false on non-special pages
779 * (bug 21113) "Other statistics" header on Special:Statistics is no more
780   displayed when there isn't any entry in it
781 * (bug 21114) Special:Contributions no longer shows diff links for new
782   revisions
783 * (bug 21116) MediaWiki:Templatesused, MediaWiki:Templatesusedpreview and
784   MediaWiki:Templatesusedsection now support plural
785 * (bug 21079) There is no more line wrapping between label and field in
786   Special:Log
787 * (bug 20256) Fixed SQL errors on Special:Recentchanges and
788   Special:Recentchangeslinked on SQLite backend
789 * (bug 20880) Fixed updater failure on SQLite backend
790 * (bug 21182) Fixed invalid HTML in Special:Listgrouprights
791 * (bug 20242) Installer no longer promts for user credentials for SQLite
792   databases
793 * (bug 20911) Installer failed to create a SQLite database
794 * (bug 20847) Deprecated deprecated akeytt() removed in wikibits.js leaving
795   dummy
796 * (bug 21161) Changing $wgCacheEpoch now always invalidates file cache
797 * (bug 20268) Fixed row count estimation on SQLite backend
798 * (bug 20275) Fixed LIKE queries on SQLite backend
799 * (bug 21234) Moving subpages of titles containing \\ now works properly
800 * (bug 21006) maintenance/updateArticleCount.php now works again on PostgreSQL
801 * (bug 19319) Add activeusers-intro message at top of SpecialActiveUsers page
802 * (bug 21255) Fixed hostname construction for DNSBL checking
803 * (bug 18019) Users are now warned when moving a file to a name in use on a
804   shared repository and only users with the 'reupload-shared' permission can
805   complete the move.
806 * (bug 18909) Add missing Postgres INSERT SELECT wrapper
807 * User::isValidPassword now only returns boolean results,
808   User::getPasswordValidity can be used to get an error message string
809 * The error message shown in Special:ChangePassword now parses wiki markup
810 * (bug 19859) Removed experimental HTMLDiff feature
811 * Removed section edit links in edit conflict form
812 * Allow SpecialActiveusers to work on non-MySQL databases
813 * (bug 6579) Fixed protecting images from uploading only
814 * (bug 18609) Search index was empty for some pages
815 * (bug 13453) rebuildrecentchanges maintenance script works on PG again
816 * (bug 16583) Reduce false positives when checking for PHP (on upload, etc.)
817 * (bug 20112) Bitrotted tests in the t/ directory were failing.
818 * (bug 21470) MediaWiki:Sp-contributions-explain is now wrapped in a <p> with
819   id "mw-sp-contributions-explain"
820 * (bug 19159) Fixed \overleftrightarrow in texvc
821 * (bug 19391) Fix caching for Recent ChangesFeed.
822 * (bug 21455) Fixed "Watch this page" checkbox appearing on some special pages
823   even to non-logged in users
824 * (bug 21551) Rewrote the Squid purge HTTP client to provide a more robust and
825   general implementation of HTTP, allowing it to purge non-Squid caches such as
826   Varnish.
827 * Fixed corruption of long UDP debug log messages by using socket_sendto()
828   instead of fsockopen() with fwrite().
829 * (bug 16884) Fixed feed links in sidebar not complying with URL parameters
830   of the displayed page
831 * (bug 21403) memcached class renamed to MWMemecached to avoid conflict with
832   PHP's memcached extension
833 * (bug 21650) Both calls to SkinTemplateTabs hook are now compatible
834 * (bug 21672) Add missing Accept-Language to both Vary and XVO headers
835 * (bug 21679) "Edit block reasons" link at the bottom of Special:Blockip is now
836   only displayed to the users that have "editinterface" right
837 * (bug 21740) Attempting to protect a page that doesn't exist (salting) returns
838   "unknown error"
839 * (bug 18762) both redirects and links get fixed one after another if
840   redirects-only switch is not present
841 * (bug 20159) thumbnails rerendered if older that $wgThumbnailEpoch
842 * Fixed a bug which in some situations causes the job queue to grow forever,
843   due to an infinite loop of job requeues.
844 * (bug 21523) File that can have multiple pages (djvu, pdf, ...) no longer have
845   the page selector when they have only one page
846 * (bug 21559) "logempty" message is now wrapped in a div with class
847   "mw-warning-logempty" when used in log extract
848 * (bug 20549) Parser tests were broken on SQLite backend
849 * (bug 21776) Interwiki urls like http://en.wikibooks.org/wiki/cs: should give
850   a redirect instead of a baderror.
851 * (bug 21803) Special:MyContributions now keeps the query string parameters
852 * Redirecting special pages now keep query string paramters set to "0" (e.g.
853   for namespace)
854 * (bug 20765) Special:ListGroupRights no longer misses addables and removables
855   groups if there are duplicate entries
856 * (bug 21814) Message shown when rolling back an edit with a deleted username
857   now shows '(username deleted)' instead of broken user tool links
858 * (bug 21536) Fixed JavaScript error on Special:Search caused by an incorrect ID
859 * (bug 21535) RecentChanges RSS feed now always recognises the namespace filter,
860   previously it sometimes didn't due to caching.
861 * (bug 20388) ProfilerSimpleText no longer outputs comment on action=raw
862 * refreshLinks.php now purges orphaned redirect table rows
863 * (bug 2971) Swap links of hist & diff location on Special:Contributions for
864   consistency with RC/WL
865 * (bug 21986) Special page names were are now capitalized by content language
866 * If two log type have the same description, they're now both displayed in the
867   type selector on Special:Log
868 * (bug 20115) Special:Userlogin title says "Log in / create account" even if the
869   user can't create an account
870 * (bug 2658) Don't attempt to set the TZ environment variable.
871 * (bug 9794) User rights log entries for foreign user now links to the foreign
872   user's page if possible
873 * (bug 14717) Don't load nonexistent CSS fix files for non-Monobook skins
874 * (bug 22034) Use wfClientAcceptsGzip() in wfGzipHandler instead of
875   reimplementing it.
876 * (bug 19226) First line renders differently on many UI messages.
877 * (bug 21303) Comments are no longer stripped from MediaWiki:Common.js and
878   skin-specific JS pages
879 * (bug 5061) Use the more precise thumbcaption thumbimage and thumbinner classes
880   for image divs.
881 * Fixed bug involving unclosed "-{" markup in the language converter
882 * (bug 21870) No longer include Google logo from an external server on wiki error.
883 * (bug 22181) Do not truncate if the ellipsis actually make the string longer
884 * (bug 16039) Text disappearing after a bad image
885 * (bug 18784) Internal links like [[File:Foo|caption]] should read 'caption',
886   not 'File:Foo' when Foo is not an image
887 * (bug 21518) Special:UserRights no longer displays the user name box for users
888   that can only change their rights
889 * (bug 21593) Special:UserRights now lists automatic groups membership
890 * (bug 22364) Setting $wgUseExternalEditor to false no longer hides the reupload
891   link from file pages
892 * Fix bug introduced in MediaWiki 1.12: The author field in
893   $wgExtensionCredits is no longer sorted with sort() but rather used
894   as it appears in extensions as was the case before r30117 where it
895   was unintentionally sorted along with other fields.
896 * (bug 19334) Textarea no longer jumps when editing longer articles in IE8
897 * Truncate summary of page moves in revision comment field to avoid broken
898   multibyte characters
899 * (bug 22540) ForeignApiRepos no longer try to store thumbnails that don't exist
900 * (bug 22551) Special:Resetpass now has a "Cancel" button that sends the user to 
901   the page set in the &returnto parameter.
902 * (bug 19194) Search box in Modern skin doesn't focus with Safari/Chrome
903 * (bug 17790) Users instantly logged off on HughesNet
904
905 == API changes in 1.16 ==
906 * Added uiprop=changeablegroups to meta=userinfo
907 * Added usprop=gender to list=users
908 * (bug 18311) action=purge now works for images too
909 * Add parentid to prop=revisions output
910 * (bug 17832) action=delete returns 'unknownerror' instead of 'permissiondenied'
911   when the user is blocked
912 * (bug 18546) Added timestamp of new revision to action=edit output
913 * (bug 18554) Also list hidden revisions in list=usercontribs for privileged
914   users
915 * (bug 13049) "API must be accessed from the primary script entry point" error
916 * (bug 16422) Don't display help for format=jsonfm unless specifically requested
917 * Added PHP and database version to meta=siteinfo output
918 * (bug 18533) Add readonly message to meta=siteinfo output
919 * (bug 18518) Add clprop=hidden to prop=categories
920 * (bug 18710) Fixed internal error with empty parameter in action=paraminfo
921 * (bug 18709) Missing descriptions for some parameters in action=paraminfo
922   output
923 * (bug 18731) Show correct SVN links for extension modules in api.php?version
924 * (bug 18730) Add version information to action=paraminfo output
925 * (bug 18743) Add ucprop=size to list=usercontribs
926 * (bug 18749) Add generator flag to action=paraminfo output
927 * Make action=block respect $wgEnableUserEmail and $wgSysopEmailBans
928 * Made deleting file description pages without files possible
929 * (bug 18773) Add content flag to siprop=namespaces output
930 * (bug 18785) Add siprop=languages to meta=siteinfo
931 * (bug 14200) Added user and excludeuser parameters to list=watchlist and
932   list=recentchanges
933 * Added index, fromtitle and byteoffset fields to action=parse&prop=sections
934   output
935 * (bug 19313) action=rollback returns wrong revid on master/slave setups
936 * (bug 19323) action=parse doesn't return section tree on pages with Cite
937   warnings
938 * (bug 18720) Add anchor field to action=parse&prop=sections output
939 * (bug 19423) The initial file description page used caption in user lang
940   rather than UI lang
941 * (bug 17809) Add number of users in user groups to meta=siteinfo
942 * (bug 18533) Add readonly reason to readonly exception
943 * (bug 19528) Added XSLT parameter to API queries in format=xml
944 * (bug 19040) Fix prependtext and appendtext in combination with section
945   parameter in action=edit
946 * (bug 19090) Added watchlist parameter, deprecated watch and unwatch
947   parameter in action=edit
948 * Added fields to list=search output: size, wordcount, timestamp, snippet
949 * Where supported by backend, list=search adds a 'searchinfo' element with
950   optional info: 'totalhits' count and 'suggestion' alternate query term
951 * (bug 19907) $wgCrossSiteAJAXdomains added to allow specified (or all)
952   external domains to access api.php via AJAX, if the browser supports the
953   Access-Control-Allow-Origin HTTP header
954 * (bug 19999) Made metadata and properties of search results optional. Added
955   srprop and srinfo.
956 * (bug 20700) Add amprop=default to meta=allmessages to list default value for
957   customized messages
958 * Don't parse magic words in meta=allmessages, output messages unparsed
959 * (bug 21105) list=usercontribs can now list contribs for User:0
960 * (bug 21085) list=deletedrevs no longer returns only one revision when
961   drcontinue param is passed
962 * (bug 21106) Deprecated parameters now tagged in action=paraminfo
963 * (bug 19004) Added support for tags
964 * (bug 21083) list=allusers no longer returns current timestamp for users
965   without registration date
966 * (bug 20967) action=edit allows creation of invalid titles
967 * (bug 19523) Add inprop=watched to prop=info
968 * (bug 21589) API: Separate summary and initial page text for uploads
969 * (bug 21817) list=usercontribs returns empty result for empty ucuser
970 * (bug 21441) meta=userinfo&uiprop=options no longer returns default options
971   for logged-in users under certain circumstances
972 * (bug 21945) Add chomp control in YAML
973 * Expand the thumburl to an absolute url to make it consistent with url and
974   descriptionurl
975 * (bug 20233) ApiLogin::execute() doesn't handle LoginForm :: RESET_PASS
976 * (bug 22061) API: add prop=headitems to action=parse
977 * (bug 22240) API: include time in siteinfo
978 * (bug 22241) Quick edit is still using the deprecated watch parameter (API: Setting default for watch/unwatch wrongly set)
979 * (bug 22245) blfilterredirect=nonredirects in blredirect mode wrongly filtering
980 * (bug 22248) Output extension URLs in meta=siteinfo&siprop=extensions
981 * Support key-params arrays in 'descriptionmsg' in meta=siteinfo&siprop=extensions
982 * (bug 21922) YAML output should quote asterisk when used as key
983 * (bug 22297) safesubst: to allow substitution without breaking transclusion
984 * (bug 18758) API read of watchlist's wl_notificationtimestamp
985 * (bug 20809) Expose EditFormPreloadText via the API
986 * (bug 18427) Comment (edit summary) parser option for API
987 * (bug 18608) API should provide list of CSS styles to apply to rendered output
988 * (bug 18771) List possible errors in action=paraminfo
989
990 === Languages updated in 1.16 ===
991
992 MediaWiki supports over 330 languages. Many localisations are updated
993 regularly. Below only new and removed languages are listed, as well as
994 changes to languages because of MediaZilla reports.
995
996 * Capiznon (cps) (new)
997 * North Frisian (frr) (new)
998 * Kirmanjki (kiu) (new)
999 * Komi-Permyak (koi) (new)
1000 * Karachay-Balkar (krc) (new)
1001 * Latgalian (ltg) (new)
1002 * Hill Mari (mrj) (new)
1003 * Prussian (prg) (new)
1004 * Romagnol (rgn) (new)
1005 * Rusyn (rue) (new)
1006 * Lower Silesian (sli) (new)
1007 * Picard (pcd) (new)
1008 * Uyghur (Arabic script) (ug-arab) (new)
1009 * Upper Franconian (vmf) (new)
1010 * Votic (vot) (new)
1011 * Eastern Yiddish (ydd) (removed)
1012 * Iriga Bicolano (bto) (removed)
1013 * Ladin (lld) (removed)
1014 * Palembang (plm) (removed)
1015 * Megleno-Romanian (Greek script) (ruq-grek) (removed)
1016 * Tamazight (tzm) (removed)
1017
1018 * (bug 18474) Sorani (ckb - Central Kurdish) (renamed from ku-arab)
1019 * Add PLURAL function for Scots Gaelic (gd)
1020 * Add Estonian letters äöõšüž to linktrail (et)
1021 * (bug 18776) Native name of Burmese language (my)
1022 * (bug 18806) Use correct unicode characters in spelling of native Chuvash
1023   (Чӑвашла)
1024 * (bug 18864) Updated autonym for Zhuang language
1025 * (bug 18308) Updated date formatting in Occitan (oc)
1026 * (bug 19080) Added ăâîşţșțĂÂÎŞŢȘȚ to Romanion (ro) linktrail
1027 * (bug 19286) Correct commafying function in Polish (pl)
1028 * (bug 19441) Updated date formatting for Lithuanian
1029 * (bug 19630) Added ÄäÇçĞğŇňÖöŞşÜüÝýŽž to Turkmen (tk) linktrail
1030 * (bug 19949) New linktrail for Greek (el)
1031 * (bug 19809) Korean (North Korea) (ko-kp) (new)
1032 * (bug 19968) Fixed "Project talk" namespace name for Maltese (mt)
1033 * (bug 21168) Added áâãàéêçíóôõúü to Portuguese (pt) linktrail
1034 * (bug 21596) Change interwiki link for Kurdish (ku)
1035
1036 == Compatibility ==
1037
1038 MediaWiki 1.16 requires PHP 5.1 (5.2 recommended). PHP 4 is no longer supported.
1039
1040 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
1041 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
1042
1043
1044 == Upgrading ==
1045
1046 1.16 has several database changes since 1.15, and will not work without schema
1047 updates.
1048
1049 If upgrading from before 1.11, and you are using a wiki as a commons reposito-
1050 ry, make sure that it is updated as well. Otherwise, errors may arise due to
1051 database schema changes.
1052
1053 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
1054 new database fields are filled with data.
1055
1056 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
1057 changes are made, and there is a slightly higher chance that things could
1058 break. Don't forget to always back up your database before upgrading!
1059
1060 See the file UPGRADE for more detailed upgrade instructions.
1061
1062
1063 === Caveats ===
1064
1065 Some output, particularly involving user-supplied inline HTML, may not
1066 produce 100% valid or well-formed XHTML output. Testers are welcome to
1067 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
1068 cases, but this is not recommended on live sites. (This must be set for
1069 MathML to display properly in Mozilla.)
1070
1071 For notes on 1.15.x and older releases, see HISTORY.
1072
1073
1074 === Online documentation ===
1075
1076 Documentation for both end-users and site administrators is currently being
1077 built up on MediaWiki.org, and is covered under the GNU Free Documentation
1078 License (except for pages that explicitly state that their contents are in
1079 the public domain) :
1080
1081   http://www.mediawiki.org/wiki/Documentation
1082
1083
1084 === Mailing list ===
1085
1086 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
1087 wikitech-l list:
1088
1089   http://lists.wikimedia.org/mailman/listinfo/mediawiki-l
1090
1091 A low-traffic announcements-only list is also available:
1092
1093   http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
1094
1095 It's highly recommended that you sign up for one of these lists if you're
1096 going to run a public MediaWiki, so you can be notified of security fixes.
1097
1098
1099 === IRC help ===
1100
1101 There's usually someone online in #mediawiki on irc.freenode.net