]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - RELEASE-NOTES
MediaWiki 1.14.0
[autoinstallsdev/mediawiki.git] / RELEASE-NOTES
1 = MediaWiki release notes =
2
3 Security reminder: MediaWiki does not require PHP's register_globals
4 setting since version 1.2.0. If you have it on, turn it *off* if you can.
5
6 == MediaWiki 1.14.0 ==
7
8 February 22, 2009
9
10 This is the first stable release of the 2009 Q1 branch of MediaWiki.
11
12 MediaWiki is now using a "continuous integration" development model with
13 quarterly snapshot releases. The latest development code is always kept
14 "ready to run", and in fact runs our own sites on Wikipedia.
15
16 Release branches will continue to receive security updates for about a year
17 from first release, but nonessential bugfixes and feature developments
18 will be made on the development trunk and appear in the next quarterly release.
19
20 Those wishing to use the latest code instead of a branch release can obtain
21 it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
22
23 NOTE: Installation of MediaWiki on SQLite has been temporarily disabled in this
24 release due to the discovery of serious problems with the schema. We expect to
25 fix this problem for the release of 1.15.0. 
26
27 == Changes since 1.14.0rc1 ==
28
29 * Fixed the performance of the backlinks API module
30 * (bug 17420) Send the correct content type from action=raw when the HTML file 
31   cache is enabled.
32 * (bug 17437) Fixed incorrect link to web-based installer
33 * (bug 17527) Fixed missing MySQL-specific options in installer
34
35 === Configuration changes in 1.14 ===
36
37 * $wgExemptFromUserRobotsControl is an array of namespaces to be exempt from
38   the effect of the new __INDEX__/__NOINDEX__ magic words.  (Default: null, ex-
39   empt all content namespaces.)
40 * $wgForwardSearchUrl has been removed entirely. Documented setting since 1.4
41   has been $wgSearchForwardUrl.
42 * (bug 15080) $wgOverrideSiteFeed has been added. Setting either
43   $wgSiteFeed['rss'] or 'atom' to a URL will override the default Recent
44   Changes feed that appears on all pages.
45 * $wgSQLiteDataDirMode has been introduced as the default directory mode for
46   SQLite data directories on creation. Note that this setting is separate from
47   $wgDirectoryMode, which applies to all normal dirs created by MediaWiki.
48 * $wgGroupsAddToSelf and $wgGroupsRemoveFromSelf now work more like
49   $wgAddGroups and $wgRemoveGroups, where the user must belong to a specified
50   group in order to add or remove those groups from themselves.
51   Backwards compatibility is maintained.
52 * $wgRestrictDisplayTitle controls if the use of the {{DISPLAYTITLE}} magic
53   word is restricted to titles equivalent to the actual page title. This
54   is true per default, but can be set to false to allow any title.
55 * $wgSpamRegex may now be an array of multiple regular expressions.
56 * $wgAjaxSearch has been removed; use $wgEnableMWSuggest instead.
57 * Editing the MediaWiki namespace is now unconditionally restricted to people
58   with the editinterface right, configuring this in $wgNamespaceProtection
59   is not required.
60 * $wgAllowExternalImagesFrom may now be an array of multiple strings.
61 * Introduced $wgEnableImageWhitelist to toggle the on-wiki external image
62   whitelist on or off.
63 * Added $wgRenderHashAppend to append some string to the parser cache and the
64   sitenotice cache keys.
65 * $wgRCChangedSizeThreshold is now a positive integer by default,
66 * (bug 16006) $wgEnableWriteAPI is now true by default. Authorized can perform
67   write actions using the API.
68 * Added $wgRC2UDPInterwikiPrefix which adds an interwiki prefix
69   ($wgLocalInterwiki) onto the page names in the UDP feed.
70 * Added $wgAllowUserSkin to let the wiki's owner disable user selectable skins
71   on the wiki. If it's set to true, then the skin used will *always* be
72   $wgDefaultSkin.
73 * Added $wgEnotifUseRealName, which allows UserMailer to send out e-mails based
74   on the user's real name if one is set. Defaults to false (use the username)
75 * Removed the 'apiThumbCacheDir' option from $wgForeignFileRepos (only used in
76   ForeignAPIRepo)
77 * (bug 44) Image namespace and accompanying talk namespace renamed to File.
78   For backward compatibility purposes, Image still works. External tools may
79   need to be updated.
80 * The constants NS_FILE and NS_FILE_TALK can now be used instead of NS_IMAGE and
81   NS_IMAGE_TALK.  The old constants are retained as aliases for compatibility,
82   and should still be used in code meant to be compatible with v1.13 or older.
83 * MediaWiki can be forced to use private IPs forwarded by a proxy server by
84   using $wgUsePrivateIPs.
85 * The 'BeforeWatchlist' hook has been removed due to internal changes in
86   Special:Watchlist. 'SpecialWatchlistQuery' should now be used by extensions
87   to customize the watchlist database query.
88
89
90 === Migrated extensions ===
91 The following extensions are migrated into MediaWiki 1.14:
92
93 * Special:DeletedContributions to show deleted user contributions (was
94   extension DeletedContributions)
95 * Special:Log/newusers recording new users (was extension Newuserlog)
96 * Special:LinkSearch to search for external links (was extension LinkSearch)
97 * RenderHash
98 * NoMoveUserPages
99 * UniversalEditButton
100
101 === New features in 1.14 ===
102
103 * New URL syntaxes for Special:ListUsers - 'Special:ListUsers/USER' and
104   'Special:ListUsers/GROUP/USER', in addition to the older syntax
105   'Special:ListUsers/GROUP' where GROUP is a valid group name.
106 * Configurable per-namespace and per-page notices for the edit form,
107   respectively MediaWiki:Editnotice-# where # is the namespace number, and
108   MediaWiki:Editnotice-#-PAGENAME where # is the page's namespace number and
109   PAGENAME is the page name minus the namespace prefix.
110 * (bug 8068) New __INDEX__ and __NOINDEX__ magic words allow user control of
111   search engine indexing on a per-article basis.
112 * Handheld stylesheet options
113 * Added 'DoEditSectionLink' hook as a cleaner unified version of the old
114   'EditSectionLink' and 'EditSectionLinkForOther' hooks.  Note that the
115   'EditSectionLinkForOther' hook has been removed, but 'EditSectionLink' is
116   run in all cases instead, so extensions using the old hooks should still work
117   if they ran roughly the same code for both hooks (as is almost certain).
118 * Signature (~~~~) "cleaning", i.e. template removal, can be disabled with
119   $wgCleanSignatures=false
120 * Extensions can use the SkinBuildSidebar hook to modify the content of the
121   sidebar and add custom portlets to it
122 * Added 'MakeGlobalVariablesScript' hook for extensions to be able to add vari-
123   ables into into the output of Skin::makeVariablesScript
124 * (bug 13846) Added $wgAddGroups and $wgRemoveGroups display on
125   Special:ListGroupRights
126 * (bug 14377) Add a date selector to history pages
127 * (bug 15007) New 'pagetitle-view-mainpage' message allows the HTML <title> of
128   the main page to be customized
129 * Added $wgDisableTitleConversion to disabling the conversion for all pages on
130   the wiki
131 * Added 'noconvertlink' toggle that can be set per user preferences, also
132   added 'convertlink=no|yes' on GET requests whether have the link titles
133   being converted or not
134 * (bug 14921) Special:Contributions/: add user name to <title>
135   Patch by Emufarmers
136 * Unescape more "safe" characters when producing URLs, for added prettiness
137 * Introduced a new hook 'SkinAfterContent' that allows extensions to add text
138   after the page content and article metadata. Updated all skins and skin
139   templates to work with that hook.
140 * (bug 14929) removeUnusedAccounts.php now supports 'ignore-touched' and
141   'ignore-groups'. Patch by Louperivois
142 * (bug 15127) Work around minor display glitch in Opera.
143 * By default, reject file uploads that look like ZIP files, to avoid the
144   so-called GIFAR vulnerability.
145 * (bug 15141) Give ability to only list protected pages with the cascading
146   option enabled on Special:ProtectedPages
147 * (bug 15157) Special:Watchlist has the same options as Special:Watchlist:
148   Show/Hide logged in users, Show/Hide anonymous, Invert namespace selection
149 * Added hook 'UserrightsChangeableGroups' to allow modification of what
150   groups may be added or removed via the Special:UserRights interface.
151 * HTML entities like &nbsp; now work (are not escaped) in edit summaries.
152 * (bug 13815) In the comment for page moves, use the colon-separator message
153   instead of a hardcoded colon.
154 * Allow <gallery> to accept image names without an Image: prefix
155 * Add tooltips to rollback and undo links
156 * BMP images are now displayed as PNG
157 * (bug 13471) Added NUMBERINGROUP magic word
158 * (bug 11884) Now support Flash EXIF attribute
159 * Show thumbnails in the file history list, patch by User:Agbad
160 * Added support of piped wikilinks using double-width brackets
161 * Added an on-wiki external image whitelist. Items in this whitelist are
162   treated as regular expression fragments to match for when possibly
163   displaying an external image inline.
164 * (bugs 15405, 15436) Sort more currency types correctly in sortable tables
165 * (bug 15422) Sort more different types of numbers in sortable tables
166 * (bug 2889) MediaWiki:Print.css applies to the printable version
167 * Category counts (e.g. from {{PAGESINCATEGORY:}}) should be more accurate for
168   small categories
169 * After logging in, automatically redirect to wherever you logged in from
170 * (bug 5619) Break messages used in Special:Statistics down further
171 * (bug 11029) Add link to Special:Listusers?group=sysop etc at
172   Special:Statistics
173 * (bug 15514) Setting $wgRightsText without $wgRightsUrl now produces a
174   plaintext copyright notice. Patch by Juliano F. Ravasi.
175 * (bug 15551) Deletion log excerpt is now shown whenever a user vists a
176   deleted page, even if they are unable to edit it.
177 * Added Wantedfiles special pages, allowing users to find image links with no
178   image.
179 * (bug 12650) It is now possible to set different expiration times for
180   different restriction types on the protection form.
181 * (bug 8440) Allow preventing blocked users from editing their talk pages
182 * Improved upload file type detection for OpenDocument formats
183 * Added the ability to set the target attribute on external links with
184   $wgExternalLinkTarget
185 * api.php now sends "Retry-After" and "X-Database-Lag" HTTP headers if the
186   maxlag check fails, just like index.php does
187 * Added "link" parameter to image links, to allow images to link to an
188   arbitrary title or URL. This should replace inaccessible and incomplete
189   solutions such as CSS-based overlays and ImageMap.
190 * (bug 368) Don't use caption for alt attribute; allow manual specification
191   using new "alt=" parameter for images
192 * (bug 44) The {{ns:}} core parser function now also accepts localized
193   namespace names and aliases; also, its output now uses spaces instead of
194   underscores to match the behavior of the {{NAMESPACE}} magic word
195 * Added the ability to display user edit counts in Special:ListUsers. Off by
196   default, enabled with $wgEdititis = true (named after the medical condition
197   marked by unhealthy obsession with edit counts).
198 * Added a file cache to the parser to improve page rendering time on pages with
199   several uses of the same image.
200 * (bug 1250) Users can still use "show preview" and "show changes" even if the
201   wiki is set to read-only mode.
202 * Added a call to the 'UnwatchArticleComplete' hook to the watchlist editor.
203   This should make it so that ALL user-accessible methods of removing a page
204   from a watchlist lead to this hook being called (it was previously only
205   called from within Article.php
206 * Maximum execution time for shell processes on linux is now configured with
207   $wgMaxShellTime (180 seconds by default)
208 * (bug 1306) 'Email user' link no longer shown on user page when emailing
209   is not available due to lack of confirmed address or disabled preference
210 * Special:Wanted templates special page added to display missing templates
211   linked from articles
212 * Make search matches bold only, not red as well
213 * (bug 10080) Blocks can be modified without unblocking first
214 * (bug 15820) Special:BlockIP shows a notice if the user being blocked is
215   already directly blocked
216 * (bug 13710) Allow to force "watch this" checkbox via URL using parameter
217   "watchthis"
218 * (bug 15125) Add Public Domain to default options when installing. Patch by
219   Nathan Larson.
220 * Set a special temporary directory for ImageMagick with $wgImageMagickTempDir
221 * (bug 16113) Show/hide for redirects in Special:NewPages
222 * (bug 15903) Upload link was added to Nostalgia skin
223 * (bug 15761) Add user toggle to omit diff after rollback
224 * Added the BitmapHandler_ClientOnly media handler, which allows server-side
225   image scaling to be completely disabled for specific media types, via the
226   $wgMediaHandlers configuration variable.
227 * New 'AbortDiffCache' hook can be used to cancel the caching of a diff
228 * (bug 15835) Added Content-Style-Type meta tag
229 * (bug 11027)  Add parameter to MW:Randompage-nopages so that user can see the
230   namespace.
231 * Add id="mw-user-domain-section" to <tr> tag in Userlogin.php template so that
232   admins with a single domain can hide the domain section using CSS
233 * Dropped old Paser_OldPP class. Only new parser with preprocessor is used.
234 * Moved password reset form from Special:Preferences to Special:ResetPass
235 * Added Special:ChangePassword as a special page alias for Special:ResetPass
236 * Added complimentary function for addHandler() called removeHandler() for removing events
237 * Improved security of file uploads for IE clients, using a reverse-engineered
238   algorithm very similar to IE's content detection algorithm.
239 * Cascading protection no longer requires that both edit and move are restricted
240   to sysop, just edit=sysop is enough
241 * (bug 2391) A warning is now shown for invalid ISBN numbers on Special:Booksources.
242 * Installer has been updated to reflect the release of the GFDL 1.3. The URL for 1.2
243   has been updated, and the 1.3 URL has been given. 1.2 is still Wikipedia-compatible.
244   RightsCode was changed from 'gfdl' to 'gfdl1_2', so we can now support 1.2 as well
245   as 1.3 (gfdl1_3).
246 * (bug 16293) PD URL was changed to the CreativeCommons site on PD (which auto-detects
247   your language) instead of Wikipedia.
248 * (bug 16635) The "view and edit watchlist" page (Special:Watchlist/edit) now
249   includes a table of contents
250 * File objects returned by wfFindFile() are now cached by default
251 * (bug 7492) Rights can now be assigned to specific IP addresses and ranges by
252   using $wgAutopromote (new defines: APCOND_ISIP and APCOND_IPINRANGE)
253 * Add a 'change block' link to Special:IPBlockList and Special:Log
254 * (bug 16459) Use native getElementsByClassName where possible, for better
255   performance in modern browsers
256 * Enable \cancel and \cancelto in texvc (recompile required)
257 * Added 'UserCryptPassword' and 'UserComparePasswords' hooks to allow extensions to implement
258   their own password hashing methods.
259 * (bug 16760) Add CSS-class to action links of Special:Log
260 * (bug 505) Time zones can now be specified by location in user preferences,
261   avoiding the need to manually update for DST. Patch by Brad Jorsch.
262 * (bug 2585) HTTP 404 return code is now given for a page view if the page
263   does not exist, allowing spiders and link checkers to detect broken links.
264 * Special:Log: Add 'change protection' link for unprotected pages too
265 * Special:Log: Add log type specific CSS classes 'mw-logline-$logtype' to
266   'li' elements
267 * (bug 16754) Making arbitrary rows of sortable tables sticky:
268   |- class="unsortable"
269 * Show subversion too even if a "normal" version number is available
270 * (bug 16121) Add a note that a page move was without creating a redirect in the
271   move log
272 * Image moving is now enabled for sysops by default
273 * Make "Did you mean" search feature more noticeable
274 * (bug 16720) Transcluded Special:NewPages processes "/username="
275
276 === Bug fixes in 1.14 ===
277
278 * (bug 14907) DatabasePostgres::fieldType now defined.
279 * (bug 14659) Passing the default limit param to Special:Recentchanges no more
280   falls back to the user option
281 * (bug 14954) Fix regression in Modern and Simple skins
282 * Recursion loop check added to Categoryfinder class
283 * Fixed few performance troubles of large job queue processing
284 * Not setting various parameters in Foreign Repos now fails more gracefully
285 * (bug 2333) Redirects are properly rendered when previewing an edit.
286 * (bug 14972) Use localized alias of Special:Search on all search forms
287 * (bug 11035) Special:Search should have descriptive <title>
288 * Special pages are now not subject to special handling for "self-links"
289 * (bug 15053) Syntactically incorrect redirects with another link in them
290   no longer redirect to the second link
291 * (bug 15049) Fix for CheckUser extension's log search: usernames containing
292   a "-" were incorrectly turned into bogus IP range searches.
293   Patch by Max Semenik.
294 * (bug 15055) Talk page notifications no longer attempt to send mail when
295   user's e-mail address is invalid or unconfirmed
296 * (bug 12370) Add throttle on password attempts. Defaults to max 5 attempts in
297   5 minutes.
298 * (bug 15016) 'Templates used on this page' list in view source should be
299   wrapped in a div with class "templatesUsed"
300 * (bug 14868) Setting $wgFeedDiffCutoff to 0 now disables generation of the
301   diff entirely, not just the display of it.
302 * (bug 6387) Introduced new setting $wgCategoryPrefixedDefaultSortkey which
303   allows having the unprefixed page title as the default category sortkey
304 * (bug 15079) Add class="ns-talk" / "ns-subject" to <body>. Also added
305   ns-special to special pages.
306 * (bug 15052) Skins should add their name as a class in <body>
307 * (bug 14165, bug 14294) Wikimedia specific configuration in convertGrammar()
308   for several languages was removed. The settings have been put in extension
309   WikimediaMessages. Patch for Czech by Danny B.
310 * (bug 15101) Displaying only bots edits in Special:Recentchanges now works
311   again
312 * (bug 13770) Fixed incorrect detection of PHP's DOM module
313 * (bug 14790) Export of category pages when using Category: prefix now actually
314   gives results
315 * Avoid recursive crazy expansions in section edit comments for pages which
316   contain '/*' in the title
317 * Fix excessive memory usage when parsing pages with lots of links
318 * $wgSpamRegex now matches the edit summary and page move descriptions in
319   addition to body text.
320 * Navigation links to images available from a shared repository (like Commons)
321   from their local talk pages no longer appear as redlinks
322 * Action=purge on ForeignApiFiles now works (purges their thumbnails and
323   description pages).
324 * (bug 15303) Title conversion for templates wasn't working in some cases.
325 * (bug 15264) Underscores in Special:Search/Foo_bar parameters were taken
326   literally; now converting them to spaces per expectation.
327 * (bug 15342) "Invert" checkbox now works correctly when selecting main
328   namespace in Special:Watchlist
329 * (bug 15172) 'Go' button of Special:Recentchanges now on the same line as the
330   last input element (like Special:Watchlist too)
331 * (bug 15351) Fix fatal error for invalid section fragments in autocomments
332 * Fixed intermittent deadlock errors involving objectcache table queries.
333   Use a separate database connection for the objectcache table to avoid
334   long-lasting locks on that table.
335 * Respect file restrictions in the file history list
336 * (bug 15399) Odd/even classes on sortable tables' rows could be slow for large
337   tables, and have been disabled by default.
338 * (bug 15482) Special:Recentchangeslinked has no longer two submit buttons
339 * (bug 15292) New message notification for unregistred users now works again
340 * (bug 14398) mwsuggest.js: Let width of container be configurable
341 * (bug 15543) Only include user touched timestamp to generated CSS
342 * (bug 15497) Removed encoding attribute from <?xml ?> tag
343 * (bug 12284) Special:Preferences now sets a returnto parameter on the link to
344   Special:UserLogin. Patch by Marooned.
345 * Fixed the HTTP accept language string detection length in
346   LanguageConverter.php, instead of the fixed length language codes.
347 * Special:RecentChangesLinked no longer shows outgoing links for nonexistent
348   pages even if there are broken link records with source article id 0 in the
349   database
350 * (bug 15598) Special:Newpages default limit uses user preference for
351   recentchanges limit instead of hardcoded 50.
352 * (bug 15617) $wgFeedClassesOutputPage::getHeadLinks() respects $wgFeedClasses,
353   instead of hardcoding rss and atom. Patch by Juliano F. Ravasi.
354 * (bug 14638) Special:Blockip now provides a link to the block log if the user
355   has been blocked more than 10 times. Patch by Matt Johnston.
356 * (bug 12678) Skins don't show Upload link if the user isn't allowed to upload.
357 * Fixed incorrect usage of DB_LAST in Special:Export. Deprecated DB_LAST.
358 * (bug 15642) Blocked sysops can no longer block other users
359 * Http::request() now respects $wgHTTPtimeout when not using cURL
360 * (bug 15158) Userinvalidcssjstitle not shown on preview
361 * (bug 15196) Free external links should be numbered in a localised manner
362 * (bug 15388) Title of Special:PrefixIndex
363 * Links with no title but a curid parameter now use the curid to pick a page
364 * (bug 10323) Special:Undelete should have "inverse selection" button
365 * (bug 15831) Modern skin RTL support is bugous
366 * (bug 15869) Nostalgia skin does not show page title in printable mode
367 * (bug 15795) Special:Userrights is now listed on Special:SpecialPages when the
368   user can only change his rights
369 * (bug 15846) Categories "leak" from older revisions in certain circumstances
370 * (bug 15928) Special pages dropdown should be inline in non-MonoBook skins
371 * (bug 14178) Some uses of UserLoadFromSession hook cause segfault
372 * (bug 15925) Postitive bytes added on recentchanges and watchlists are now
373   bolded if above the threshold, previously it only worked for negatives
374 * Specify apple-touch-icon before favicon in HTML head section to make the
375   Konqueror browser correctly use the latter
376 * (bug 15717) Set $separatorTransformTable for language 'eu'
377 * (bug 15605) Enabled $datePreferences for language 'hr'. Added standard date
378   preferences.
379 * (bug 13701) {{NUMBEROFVIEWS}} magic word to show number of total views.
380 * (bug 5101) Image from Commons doesn't show up when searched in Wikipedia
381   search box
382 * (bug 14609) User's namespaces to be searched default not updated after adding
383   new namespace
384 * Purge form uses valid XHTML
385 * (bug 12764) Special:LonelyPages shows transcluded pages
386 * (bug 16073) Enhanced RecentChanges uses onclick handler with better fallback
387   if JavaScript is disabled
388 * (bug 4253) Recentchanges IRC messages no longer include title in diff URLs
389 * Allow '0' to be an accesskey.
390 * (bug 8063) Use language-dependent sorting in client-side sortable tables
391 * (bug 16160) Suggestions box should be resized from left for RTL wikis
392 * (bug 11533) Fixed insane slowdown when in read-only mode for long periods
393   of time with CACHE_NONE (default objectcache table configuration).
394 * Trying to set two different default category sort keys for one page now
395   produces a warning
396 * (bug 16143) Fix redirect loop on special pages starting with lower case
397   letters
398 * (bug 15737) Fix notices while expanding using PPCustomFrame
399 * (bug 15544) Non-index entry points cause the "Wiki not set up" message to
400   have corrupt URLs
401 * (bug 5101) Image from Commons doesn't show up when searched in Wikipedia
402   search box
403 * (bug 4362) [[MediaWiki:History copyright]] no more used with most recent
404   revision when passing oldid parameter in the url
405 * (bug 16265) When caching thumbs with the ForeignApiRepo, we now use the same
406   filename as the remote site.
407 * (bug 8345) Don't autosummarize where a redirect was left unchanged
408 * Made thumb caching in ForeignApiFile objects integrated with normal thumb
409   path naming (/thumbs/hash/file), retired 'apiThumbCacheDir' as a result.
410 * (bug 5530) Consistency between character encoding in {{PAGENAMEE}},
411   {{SUBPAGENAMEE}} and {{FULLPAGENAMEE}}
412 * Safer handling of non-MediaWiki exceptions -- now obeys our settings for
413   formatting and path exposure.
414 * Less verbose errors from profileinfo.php when not configured
415 * Blacklist redirects via Special:Filepath, hard to use.
416 * Improved input validation on Special:Import form
417 * Add a .htaccess to deleted images directory for additional protection
418   against exposure of deleted files with known SHA-1 hashes on default
419   installations.
420 * Improved scripting safety heuristics for IE 5/6 content-type detection.
421 * Improved scripting safety heuristics on SVG uploads.
422 * (bug 11728) Unify layout of enhanced watchlist/recent changes
423 * (bug 8702) Properly update stats when running nukePage maintenance script
424 * (bug 7726) Searches for words less than 4 characters now work without
425   requiring customization of MySQL server settings
426 * Honour unchecked "Leave a redirect behind" for moved subpages
427 * (bug 16440) Broken 0-byte math renderings are now deleted and re-rendered
428   when page is re-parsed.
429 * (bug 6100) Unicode BiDi embedding/override characters (U+202A - U+202E) are
430   now automatically removed from titles; these characters can accidentally end
431   up in copy-and-pasted titles, and, by overriding normal bidirectional text
432   handling, can lead to annoying behavior such as text rendering backwards
433 * Fixed minor bug where the memcached value for how many accounts an IP had
434   created that day would be increased even if $wgAccountCreationThrottle was
435   hit. This meant if an IP hit the throttle and then the throttle was raised
436   later that day, the IP still couldn't create another account, because it
437   had marked them as having created another account, when their last account
438   creation had actually failed.
439 * (bug 12647) Allow autogenerated edit summary messages to be blanked with '-'
440 * (bug 16026) 'Revision-info' and 'revision-info-current' both accept wiki
441   markup now.
442 * (bug 16529) Fix for search suggestions with some third-party JS libraries
443 * (bug 13342) importScript() generates more consistent URI encoding
444 * (bug 16577) When a blocked user tries to rollback a page, the block message
445   is now only displayed once
446 * (bug 14268) SVG image sizes now extracted with proper XML parser
447 * (bug 14365) RepoGroup::findFiles() no longer crashes if passed an invalid
448   title via the API
449 * (bug 4253, bug 16586) Revision ID is now given instead of title in URLs for
450   new pages in the recent changes IRC feed
451 * Ugly tooltips in Special:Statistics were phased out in favor of more direct
452   information. Went ahead and rewrote SpecialStatistics to subclass SpecialPage
453 * (bug 5506) Links to files on foreign repositories are now shown consistently
454   as bluelinks e.g. in logs and edit summaries
455 * (bug 16623) Add missing </p> tag in Special:LockDB
456 * (bug 15849) Special:Movepage now throws a more specific error when trying to
457   move a title to an interwiki target
458 * (bug 16638) 8-bit URL fallback encoding now set on additional languages using
459   Arabic script (Persian, Urdu, Sindhi, Punjabi)
460 * (bug 16656) cleanupTitles and friends should now work in load-balanced
461   DB environments when $wgDBserver isn't set.
462 * (bug 3691) Aspect ratio from viewBox attribute is now preserved for SVG
463   images which do not specify width and height attributes.
464 * (bug 15027) Internet domain names and IP addresses can now be indexed and
465   searched sensibly with the default MySQL search backend.
466 * (bug 11733) Fixed parameter validation in importTextFile.php
467 * (bug 16712) Special:NewFiles updated to use "newer"/"older" paging messages
468   for clarity over "previous/next"
469 * (bug 16612) Fixed "noprint" class for Modern skin print style
470 * Section anchors now have an "id" attribute as well as a "name" attribute,
471   even when Tidy is not used
472 * (bug 16026) revision-info, revision-info-current, cannotdelete,
473   redirectedfrom, historywarning and difference messages now use Wiki text
474   rather than raw HTML markup
475 * (bug 13835) Fix rendering of {{filepath:Wiki.png|nowiki}}
476 * (bug 16772) Special:Upload now correctly rejects files with spaces in the
477   file extension (e.g. Foo. jpg).
478 * Image moving over an existing file no longer throws a database error
479 * (bug 16786) Restored "redundant" links recently removed from Classic sidebar
480 * (bug 16850) $wgActionPaths can have query strings now, previously, this broke
481   local URLs
482 * (bug 16376) Mention in deleteBatch.php and moveBatch.php maintenance scripts
483   that STDIN can be used for page list
484 * (bug 16560) Special:Random returns a page from ContentNamespaces, and no
485   longer from NS_MAIN
486 * (bug 16123) Fixed Special:Import on SQLite.
487 * (bug 16937) Show appropriate error message for attempted installs on 
488   PostgreSQL 7.3 or earlier.
489 * Disabled SQLite support in the installer.
490 * Fixed XSS vulnerabilities in the web-based installer.
491 * Added a meta robots tag to the installer to prevent indexing of potentially 
492   sensitive configuration data.
493 * (bug 16483) Prevented a filesort in ApiQueryBacklinks caused by missing parentheses.
494   Building query properly now using makeList()
495
496 === API changes in 1.14 ===
497
498 * Registration time of users registered before the DB field was created is now
499   shown as empty instead of the current time.
500 * API search now falls back to fulltext search by default when using Lucene
501   or other engine which doesn't support a separate title search function.
502   This means you can use API search on Wikipedia without explicitly adding
503   &srwhat=text to the query.
504 * Added iiprop=bitdepth to imageinfo and aiprop=bitdepth to allimages
505 * (bug 14713) API-specific permissions (such as 'writeapi' and 'apihighlimits'
506   are now listed on action=help
507 * (bug 15044) Added requestid parameter to api.php to facilitate distinguishing
508   between requests
509 * (bug 15048) Added limit field for multivalue parameters to action=paraminfo
510   output.
511 * When the limit on multivalue parameters is exceeded, a warning is issued
512 * list=search doesn't list missing pages any more
513 * (bug 15178) Added clshow to prop=categories to allow filtering for hidden/
514   non-hidden categories
515 * (bug 15228) Combining revids= and redirects now throws a warning instead of
516   an error, and still resolves redirects generated by the generator.
517 * list={backlinks,embeddedin,imageusage} now return arrays with keys 0, 1, 2,
518   etc. (AKA lists) instead of arrays with pageIDs as keys (AKA hash tables)
519   for consistency with other list modules.
520 * Added action=watch
521 * (bug 15275) apprefix and related parameters ignore spaces at the end
522 * action=edit no longer throws unknown error 228  when trying to create an
523   empty section with section=new
524 * Database replication lag doesn't cause all action=edit requests to return the
525   nochange flag any more
526 * (bug 15392) ApiFormatBase::formatHTML now uses $wgUrlProtocols.
527 * (bug 15444) action=edit returns "Unknown error: ``AS_END''" where it should
528   return just "Unknown error"
529 * (bug 15448) YAML output returns empty values instead of 0
530 * (bug 15445) Added action=patrol
531 * (bug 15466) Added action=purge
532 * (bug 15486) action=block ignores autoblock parameter
533 * (bug 15492) added rcprop=loginfo to list=recentchanges
534 * (bug 15527) action=rollback can now revert anonymous editors
535 * (bug 15535) prop=info&inprop=protection doesn't list pre-1.10 protections
536   if the page is also protected otherwise (1.10+ style or cascading)
537 * list=random now has rnredirect parameter, to get random redirects.
538 * Added APIAfterExecute, APIQueryAfterExecute and APIQueryGeneratorAfterExecute
539   hooks which allow for extending core modules in a cleaner way
540 * action=protect checks for invalid protection types and levels
541 * (bug 15673) Added indentation to format=wddxfm output and improved built-in
542   WDDX formatter to resemble PHP's more
543 * (bug 15706) Empty values for apprtype and apprlevel are now silently ignored
544   rather than causing an exception
545 * Added uiprop=preferencestoken to meta=userinfo
546 * (bug 15609) Add inprop=url and inprop=readable to prop=info
547 * Add ApiDisabled and ApiQueryDisabled classes so individual modules can
548   be disabled in LocalSettings.php
549 * (bug 15653) Add prop=duplicatefiles
550 * (bug 15768) Add list=watchlistraw
551 * (bug 15647) action=edit with basetimestamp fails if the page has been deleted
552   and undeleted since the last edit
553 * (bug 15785) Allow for different expiry times for different protections in
554   action=protect
555 * Added allowsduplicates attribute to action=paraminfo output
556 * (bug 15767) apfilterlanglinks returns duplicate results
557 * (bug 15845) Added pageid/fromid parameter to action=delete/move, making
558   manipulation of legacy pages with invalid titles possible
559 * (bug 15881) Empty or invalid parameters cause database errors
560 * The maxage and smaxage parameters are now properly validated
561 * (bug 15945) list=recentchanges doesn't check $wgUseRCPatrol, $wgUseNPPatrol
562   and patrolmarks right
563 * (bug 15985) acfrom and aifrom parameters didn't work when sorting in
564   descending order.
565 * (bug 15995) Add cmstartsortkey and cmendsortkey parameters to
566   list=categorymembers
567 * (bug 16017) list=categorymembers sets invalid continue parameters for
568   sortkeys containing pipes
569 * (bug 16018) Added uccontinue parameter to list=usercontribs so paging
570   works properly when multiple users are queried or a userprefix is used
571 * (bug 16047) Added activeusers attribute to meta=siteinfo&siprop=statistics
572   output
573 * Added redirect resolution to action=parse
574 * (bug 16074) rvprop=content combined with a generator with a high limit causes
575   an error
576 * (bug 16105) Image metadata attributes containing spaces result in invalid XML
577 * (bug 16126) Added siprop=magicwords to meta=siteinfo
578 * (bug 16159) Added wlshow=patrolled|!patrolled to list=watchlist
579 * (bug 16225) Titles like Talk:Talk:Foo broke apfrom and friends
580 * meta=siteinfo&siprop=interwikimap no longer throws an exception for empty
581   sifilter parameter.
582 * (bug 12760) meta=userinfo&uiprop=ratelimits doesn't list group-specific rate
583   limits
584 * (bug 16398) meta=userinfo&uiprop=rights lists some rights twice in some cases
585 * (bug 16408) Added rvgeneratexml to prop=revisions
586 * (bug 16421) Made list=logevents's leuser accept user names with underscores
587   instead of spaces
588 * (bug 16516) Made rvsection=T-2 work
589 * (bug 16526) Added usprop=emailable to list=users
590 * (bug 16548) list=search threw errors with an invalid error code
591 * (bug 16515) Added pst and onlypst parameters to action=parse
592 * (bug 16541) Added block expiry timestamp to list=logevents output
593 * (bug 16613) action=protect doesn't tell when &cascade was set but cascading
594   protection wasn't allowed
595 * (bug 16626) action=delete now correctly handles empty "reason" param
596 * (bug 15579) clshow considers all categories !hidden
597 * (bug 16647) list=allcategories, prop=categories don't return "hidden"
598   property for hidden categories
599 * New siprop parameter of 'extensions' to list all installed extensions
600 * (bug 16672) Include canonical namespace name in
601   meta=siteinfo&siprop=namespaces.
602 * (bug 16726) siprop=namespacealiases should also list localized aliases
603 * (bug 16730) Added apprfiltercascade parameter to list=allpages to filter
604   cascade-protected pages
605 * (bug 16798) JSON encoding errors for some characters outside the BMP
606 * (bug 16629) prop=info&inprop=protection lists empty legacy protections
607   incorrectly
608 * (bug 15261, 16262) API no longer outputs invalid UTF-8
609 * Fix broken list=alllinks paging and make alunique actually work
610
611 === Languages updated in 1.14 ===
612
613 MediaWiki supports over 300 languages. Many localisations are updated
614 regularly. Below only new and removed languages are listed.
615
616 * Bakhtiari (bqi) (new)
617 * Fiji Hindi (Devanagari script) (hif-deva) (new)
618 * Krio (kri) (new)
619 * Lezghian (lez) (new)
620 * Laz (lzz) (new)
621 * Eastern Mari (mhr) (new)
622 * Niuean (niu) (new)
623 * Oromo (om) (new)
624 * Plautdietsch (pdt) (new)
625 * Western Punjabi (pnb) (new)
626 * Tarantino (roa-tara) (new)
627 * Serbo-Croatian (sh) (new)
628 * Tulu (tcy) (new)
629
630 == Compatibility ==
631
632 MediaWiki 1.14 requires PHP 5 (5.2 recommended). PHP 4 is no longer supported.
633
634 PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing:
635 http://bugs.php.net/bug.php?id=34879
636 Upgrade affected systems to PHP 5.1 or higher.
637
638 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
639 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
640
641
642 == Upgrading ==
643
644 1.14 has several database changes since 1.13, and will not work without schema
645 updates.
646
647 If upgrading from before 1.11, and you are using a wiki as a commons reposito-
648 ry, make sure that it is updated as well. Otherwise, errors may arise due to
649 database schema changes.
650
651 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
652 new database fields are filled with data.
653
654 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
655 changes are made, and there is a slightly higher chance that things could
656 break. Don't forget to always back up your database before upgrading!
657
658 See the file UPGRADE for more detailed upgrade instructions.
659
660
661 === Caveats ===
662
663 Some output, particularly involving user-supplied inline HTML, may not
664 produce 100% valid or well-formed XHTML output. Testers are welcome to
665 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
666 cases, but this is not recommended on live sites. (This must be set for
667 MathML to display properly in Mozilla.)
668
669 For notes on 1.13.x and older releases, see HISTORY.
670
671
672 === Online documentation ===
673
674 Documentation for both end-users and site administrators is currently being
675 built up on MediaWiki.org, and is covered under the GNU Free Documentation
676 License (except for pages that explicitly state that their contents are in
677 the public domain) :
678
679   http://www.mediawiki.org/wiki/Documentation
680
681
682 === Mailing list ===
683
684 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
685 wikitech-l list:
686
687   http://lists.wikimedia.org/mailman/listinfo/mediawiki-l
688
689 A low-traffic announcements-only list is also available:
690
691   http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
692
693 It's highly recommended that you sign up for one of these lists if you're
694 going to run a public MediaWiki, so you can be notified of security fixes.
695
696
697 === IRC help ===
698
699 There's usually someone online in #mediawiki on irc.freenode.net