Hold back r42568 for now "Re-committing r42528:" (enhanced RC no-JS fallbacks)
[lhc/web/wiklou.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 ==
7
8 THIS IS NOT A RELEASE YET
9
10 MediaWiki is now using a "continuous integration" development model with
11 quarterly snapshot releases. The latest development code is always kept
12 "ready to run", and in fact runs our own sites on Wikipedia.
13
14 Release branches will continue to receive security updates for about a year
15 from first release, but nonessential bugfixes and feature developments
16 will be made on the development trunk and appear in the next quarterly release.
17
18 Those wishing to use the latest code instead of a branch release can obtain
19 it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
20
21 === Configuration changes in 1.14 ===
22
23 * $wgExemptFromUserRobotsControl is an array of namespaces to be exempt from
24 the effect of the new __INDEX__/__NOINDEX__ magic words. (Default: null, ex-
25 empt all content namespaces.)
26 * $wgForwardSearchUrl has been removed entirely. Documented setting since 1.4
27 has been $wgSearchForwardUrl.
28 * (bug 15080) $wgOverrideSiteFeed has been added. Setting either
29 $wgSiteFeed['rss'] or 'atom' to a URL will override the default Recent Changes
30 feed that appears on all pages.
31 * $wgSQLiteDataDirMode has been introduced as the default directory mode for
32 SQLite data directories on creation. Note this setting is separate from
33 $wgDirectoryMode, which applies to all normal directories created by MediaWiki.
34 * $wgGroupsAddToSelf and $wgGroupsRemoveFromSelf now work more like
35 $wgAddGroups and $wgRemoveGroups, where the user must belong to a specified
36 group in order to add or remove those groups from themselves.
37 Backwards compatibility is maintained.
38 * $wgRestrictDisplayTitle controls if the use of the {{DISPLAYTITLE}} magic
39 word is restricted to titles equivalent to the actual page title. This
40 is true per default, but can be set to false to allow any title.
41 * $wgSpamRegex may now be an array of multiple regular expressions.
42 * $wgAjaxSearch has been removed; use $wgEnableMWSuggest instead.
43 * Editing the MediaWiki namespace is now unconditionally restricted to people
44 with the editinterface right, configuring this in $wgNamespaceProtection
45 is not required.
46 * $wgAllowExternalImagesFrom may now be an array of multiple strings.
47 * Introduced $wgEnableImageWhitelist to toggle the on-wiki external image
48 whitelist on or off.
49 * Added $wgRenderHashAppend to append some string to the parser cache and the
50 sitenotice cache keys.
51 * $wgRCChangedSizeThreshold is now a positive integer by default,
52 * (bug 16006) $wgEnableWriteAPI is now true by default. Authorized can perform
53 write actions using the API.
54
55 === Migrated extensions ===
56 The following extensions are migrated into MediaWiki 1.14:
57
58 * Special:DeletedContributions to show deleted user contributions (was extension
59 DeletedContributions)
60 * Special:Log/newusers recording new users (was extension Newuserlog)
61 * Special:LinkSearch to search for external links (was extension LinkSearch)
62 * RenderHash
63 * NoMoveUserPages
64 * Poem (patch by Nathaniel Herman)
65 * UniversalEditButton
66
67 === New features in 1.14 ===
68
69 * New URL syntaxes for Special:ListUsers - 'Special:ListUsers/USER' and
70 'Special:ListUsers/GROUP/USER', in addition to the older syntax
71 'Special:ListUsers/GROUP' where GROUP is a valid group name.
72 * Configurable per-namespace and per-page notices for the edit form,
73 respectively MediaWiki:Editnotice-# where # is the namespace number, and
74 MediaWiki:Editnotice-#-PAGENAME where # is the page's namespace number and
75 PAGENAME is the page name minus the namespace prefix.
76 * (bug 8068) New __INDEX__ and __NOINDEX__ magic words allow user control of
77 search engine indexing on a per-article basis.
78 * Handheld stylesheet options
79 * Added 'DoEditSectionLink' hook as a cleaner unified version of the old
80 'EditSectionLink' and 'EditSectionLinkForOther' hooks. Note that the
81 'EditSectionLinkForOther' hook has been removed, but 'EditSectionLink' is
82 run in all cases instead, so extensions using the old hooks should still work
83 if they ran roughly the same code for both hooks (as is almost certain).
84 * Signature (~~~~) "cleaning", i.e. template removal, can be disabled with
85 $wgCleanSignatures=false
86 * Extensions can use the SkinBuildSidebar hook to modify the content of the
87 sidebar and add custom portlets to it
88 * Added 'MakeGlobalVariablesScript' hook for extensions to be able to add vari-
89 ables into into the output of Skin::makeVariablesScript
90 * (bug 13846) Added $wgAddGroups and $wgRemoveGroups display on
91 Special:ListGroupRights
92 * (bug 14377) Add a date selector to history pages
93 * (bug 15007) New 'pagetitle-view-mainpage' message allows the HTML <title> of
94 the main page to be customized
95 * Added $wgDisableTitleConversion to disabling the conversion for all pages on
96 the wiki
97 * Added 'noconvertlink' toggle that can be set per user preferences, also
98 added 'convertlink=no|yes' on GET requests whether have the link titles
99 being converted or not
100 * (bug 14921) Special:Contributions/: add user name to <title>
101 Patch by Emufarmers
102 * Unescape more "safe" characters when producing URLs, for added prettiness
103 * Introduced a new hook 'SkinAfterContent' that allows extensions to add text
104 after the page content and article metadata. Updated all skins and skin
105 templates to work with that hook.
106 * (bug 14929) removeUnusedAccounts.php now supports 'ignore-touched' and
107 'ignore-groups'. Patch by Louperivois
108 * (bug 15127) Work around minor display glitch in Opera.
109 * By default, reject file uploads that look like ZIP files, to avoid the
110 so-called GIFAR vulnerability.
111 * (bug 15141) Give ability to only list protected pages with the cascading
112 option enabled on Special:ProtectedPages
113 * (bug 15157) Special:Watchlist has the same options as Special:Watchlist:
114 Show/Hide logged in users, Show/Hide anonymous, Invert namespace selection
115 * Added hook 'UserrightsChangeableGroups' to allow modification of what
116 groups may be added or removed via the Special:UserRights interface.
117 * HTML entities like &nbsp; now work (are not escaped) in edit summaries.
118 * (bug 13815) In the comment for page moves, use the colon-separator message
119 instead of a hardcoded colon.
120 * Allow <gallery> to accept image names without an Image: prefix
121 * Add tooltips to rollback and undo links
122 * BMP images are now displayed as PNG
123 * (bug 13471) Added NUMBERINGROUP magic word
124 * (bug 11884) Now support Flash EXIF attribute
125 * Show thumbnails in the file history list, patch by User:Agbad
126 * Added support of piped wikilinks using double-width brackets
127 * Added an on-wiki external image whitelist. Items in this whitelist are
128 treated as regular expression fragments to match for when possibly
129 displaying an external image inline.
130 * (bugs 15405, 15436) Sort more currency types correctly in sortable tables
131 * (bug 15422) Sort more different types of numbers in sortable tables
132 * (bug 2889) MediaWiki:Print.css applies to the printable version
133 * Category counts (e.g. from {{PAGESINCATEGORY:}}) should be more accurate for
134 small categories
135 * After logging in, automatically redirect to wherever you logged in from
136 * (bug 5619) Break messages used in Special:Statistics down further
137 * (bug 11029) Add link to Special:Listusers?group=sysop etc at
138 Special:Statistics
139 * (bug 15514) Setting $wgRightsText without $wgRightsUrl now produces a
140 plaintext copyright notice. Patch by Juliano F. Ravasi.
141 * (bug 15551) Deletion log excerpt is now shown whenever a user vists a
142 deleted page, even if they are unable to edit it.
143 * Added Wantedfiles special pages, allowing users to find image links with no
144 image.
145 * (bug 12650) It is now possible to set different expiration times for different
146 restriction types on the protection form.
147 * (bug 8440) Allow preventing blocked users from editing their talk pages
148 * Improved upload file type detection for OpenDocument formats
149 * Added the ability to set the target attribute on external links with
150 $wgExternalLinkTarget
151 * api.php now sends "Retry-After" and "X-Database-Lag" HTTP headers if the maxlag
152 check fails, just like index.php does
153 * Added "link" parameter to image links, to allow images to link to an
154 arbitrary title or URL. This should replace inaccessible and incomplete
155 solutions such as CSS-based overlays and ImageMap.
156 * (bug 368) Don't use caption for alt attribute; allow manual specification
157 using new "alt=" parameter for images
158 * (bug 44) The {{ns:}} core parser function now also accepts localized namespace
159 names and aliases; also, its output now uses spaces instead of underscores to
160 match the behavior of the {{NAMESPACE}} magic word
161 * Added the ability to display user edit counts in Special:ListUsers. Off by
162 default, enabled with $wgEdititis = true (named after the medical condition
163 marked by unhealthy obsession with edit counts).
164 * Added a file cache to the parser to improve page rendering time on pages with
165 several uses of the same image.
166 * (bug 1250) Users can still use "show preview" and "show changes" even if the
167 wiki is set to read-only mode.
168 * Added a call to the 'UnwatchArticleComplete' hook to the watchlist editor. This
169 should make it so that ALL user-accessible methods of removing a page from a watchlist
170 lead to this hook being called (it was previously only called from within Article.php
171 * Maximum execution time for shell processes on linux is now configured with
172 $wgMaxShellTime (180 seconds by default)
173 * (bug 1306) 'Email user' link no longer shown on user page when emailing
174 is not available due to lack of confirmed address or disabled preference
175 * Special:Wanted templates special page added to display missing templates
176 linked from articles
177 * Make search matches bold only, not red as well
178
179 === Bug fixes in 1.14 ===
180
181 * (bug 14907) DatabasePostgres::fieldType now defined.
182 * (bug 14659) Passing the default limit param to Special:Recentchanges no more
183 falls back to the user option
184 * (bug 14954) Fix regression in Modern and Simple skins
185 * Recursion loop check added to Categoryfinder class
186 * Fixed few performance troubles of large job queue processing
187 * Not setting various parameters in Foreign Repos now fails more gracefully
188 * (bug 2333) Redirects are properly rendered when previewing an edit.
189 * (bug 14972) Use localized alias of Special:Search on all search forms
190 * (bug 11035) Special:Search should have descriptive <title>
191 * Special pages are now not subject to special handling for "self-links"
192 * (bug 15053) Syntactically incorrect redirects with another link in them
193 no longer redirect to the second link
194 * (bug 15049) Fix for CheckUser extension's log search: usernames containing
195 a "-" were incorrectly turned into bogus IP range searches.
196 Patch by Max Semenik.
197 * (bug 15055) Talk page notifications no longer attempt to send mail when
198 user's e-mail address is invalid or unconfirmed
199 * (bug 12370) Add throttle on password attempts. Defaults to max 5 attempts in 5
200 minutes.
201 * (bug 15016) 'Templates used on this page' list in view source should be
202 wrapped in a div with class "templatesUsed"
203 * (bug 14868) Setting $wgFeedDiffCutoff to 0 now disables generation of the diff
204 entirely, not just the display of it.
205 * (bug 6387) Introduced new setting $wgCategoryPrefixedDefaultSortkey which
206 allows having the unprefixed page title as the default category sortkey
207 * (bug 15079) Add class="ns-talk" / "ns-subject" to <body>. Also added
208 ns-special to special pages.
209 * (bug 15052) Skins should add their name as a class in <body>
210 * (bug 14165, bug 14294) Wikimedia specific configuration in convertGrammar()
211 for several languages was removed. The settings have been put in extension
212 WikimediaMessages. Patch for Czech by Danny B.
213 * (bug 15101) Displaying only bots edits in Special:Recentchanges now works
214 again
215 * (bug 13770) Fixed incorrect detection of PHP's DOM module
216 * (bug 14790) Export of category pages when using Category: prefix now actually
217 gives results
218 * Avoid recursive crazy expansions in section edit comments for pages which
219 contain '/*' in the title
220 * Fix excessive memory usage when parsing pages with lots of links
221 * $wgSpamRegex now matches the edit summary and page move descriptions in
222 addition to body text.
223 * Navigation links to images available from a shared repository (like Commons)
224 from their local talk pages no longer appear as redlinks
225 * Action=purge on ForeignApiFiles now works (purges their thumbnails and
226 description pages).
227 * (bug 15303) Title conversion for templates wasn't working in some cases.
228 * (bug 15264) Underscores in Special:Search/Foo_bar parameters were taken
229 literally; now converting them to spaces per expectation.
230 * (bug 15342) "Invert" checkbox now works correctly when selecting main
231 namespace in Special:Watchlist
232 * (bug 15172) 'Go' button of Special:Recentchanges now on the same line as the
233 last input element (like Special:Watchlist too)
234 * (bug 15351) Fix fatal error for invalid section fragments in autocomments
235 * Fixed intermittent deadlock errors involving objectcache table queries.
236 Use a separate database connection for the objectcache table to avoid
237 long-lasting locks on that table.
238 * Respect file restrictions in the file history list
239 * (bug 15399) Odd/even classes on sortable tables' rows could be slow for large
240 tables, and have been disabled by default.
241 * (bug 15482) Special:Recentchangeslinked has no longer two submit buttons
242 * (bug 15292) New message notification for unregistred users now works again
243 * (bug 14398) mwsuggest.js: Let width of container be configurable
244 * (bug 15543) Only include user touched timestamp to generated CSS
245 * (bug 15497) Removed encoding attribute from <?xml ?> tag
246 * (bug 12284) Special:Preferences now sets a returnto parameter on the link to
247 Special:Userlogin. Patch by Marooned.
248 * Fixed the HTTP accept language string detection length in
249 LanguageConverter.php, instead of the fixed length language codes.
250 * Special:Recentchangeslinked no longer shows outgoing links for nonexistent pages
251 even if there are broken link records with source article id 0 in the database
252 * (bug 15598) Special:Newpages default limit uses user preference for recentchanges
253 limit instead of hardcoded 50.
254 * (bug 15617) $wgFeedClassesOutputPage::getHeadLinks() respects $wgFeedClasses,
255 instead of hardcoding rss and atom. Patch by Juliano F. Ravasi.
256 * (bug 14638) Special:Blockip now provides a link to the block log if the user
257 has been blocked more than 10 times. Patch by Matt Johnston.
258 * (bug 12678) Skins don't show Upload link if the user isn't allowed to upload.
259 * Fixed incorrect usage of DB_LAST in Special:Export. Deprecated DB_LAST.
260 * (bug 15642) Blocked sysops can no longer block other users
261 * Http::request() now respects $wgHTTPtimeout when not using cURL
262 * (bug 15158) Userinvalidcssjstitle not shown on preview
263 * (bug 15196) Free external links should be numbered in a localised manner
264 * (bug 15388) Title of Special:PrefixIndex
265 * Links with no title but a curid parameter now use the curid to pick a page
266 * (bug 10323) Special:Undelete should have "inverse selection" button
267 * (bug 15831) Modern skin RTL support is bugous
268 * (bug 15869) Nostalgia skin does not show page title in printable mode
269 * (bug 15795) Special:Userrights is now listed on Special:SpecialPages when the
270 user can only change his rights
271 * (bug 15846) Categories "leak" from older revisions in certain circumstances
272 * (bug 15928) Special pages dropdown should be inline in non-MonoBook skins
273 * (bug 14178) Some uses of UserLoadFromSession hook cause segfault
274 * (bug 15925) Postitive bytes added on recentchanges and watchlists are now bolded
275 if above the threshold, previously it only worked for negatives
276 * Specify apple-touch-icon before favicon in HTML head section to make the Konqueror
277 browser correctly use the latter
278 * (bug 15717) Set $separatorTransformTable for language 'eu'
279 * (bug 15605) Enabled $datePreferences for language 'hr'. Added standard date
280 preferences.
281 * (bug 13701) {{NUMBEROFVIEWS}} magic word to show number of total views.
282 * (bug 5101) Image from Commons doesn't show up when searched in Wikipedia search box
283 * (bug 14609) User's namespaces to be searched default not updated after adding new namespace
284 * Purge form uses valid XHTML and (bug 8992) uses $wgRequest instead of $_SERVER
285 * (bug 12764) Special:LonelyPages shows transcluded pages
286
287 === API changes in 1.14 ===
288
289 * Registration time of users registered before the DB field was created is now
290 shown as empty instead of the current time.
291 * API search now falls back to fulltext search by default when using Lucene
292 or other engine which doesn't support a separate title search function.
293 This means you can use API search on Wikipedia without explicitly adding
294 &srwhat=text to the query.
295 * Added iiprop=bitdepth to imageinfo and aiprop=bitdepth to allimages
296 * (bug 14713) API-specific permissions (such as 'writeapi' and 'apihighlimits'
297 are now listed on action=help
298 * (bug 15044) Added requestid parameter to api.php to facilitate distinguishing
299 between requests
300 * (bug 15048) Added limit field for multivalue parameters to action=paraminfo
301 output.
302 * When the limit on multivalue parameters is exceeded, a warning is issued
303 * list=search doesn't list missing pages any more
304 * (bug 15178) Added clshow to prop=categories to allow filtering for hidden/
305 non-hidden categories
306 * (bug 15228) Combining revids= and redirects now throws a warning instead of an
307 error, and still resolves redirects generated by the generator.
308 * list={backlinks,embeddedin,imageusage} now return arrays with keys 0, 1, 2,
309 etc. (AKA lists) instead of arrays with pageIDs as keys (AKA hash tables)
310 for consistency with other list modules.
311 * Added action=watch
312 * (bug 15275) apprefix and related parameters ignore spaces at the end
313 * action=edit no longer throws unknown error 228 when trying to create an empty
314 section with section=new
315 * Database replication lag doesn't cause all action=edit requests to return the
316 nochange flag any more
317 * (bug 15392) ApiFormatBase::formatHTML now uses $wgUrlProtocols.
318 * (bug 15444) action=edit returns "Unknown error: ``AS_END''" where it should
319 return just "Unknown error"
320 * (bug 15448) YAML output returns empty values instead of 0
321 * (bug 15445) Added action=patrol
322 * (bug 15466) Added action=purge
323 * (bug 15486) action=block ignores autoblock parameter
324 * (bug 15492) added rcprop=loginfo to list=recentchanges
325 * (bug 15527) action=rollback can now revert anonymous editors
326 * (bug 15535) prop=info&inprop=protection doesn't list pre-1.10 protections
327 if the page is also protected otherwise (1.10+ style or cascading)
328 * list=random now has rnredirect parameter, to get random redirects.
329 * Added APIAfterExecute, APIQueryAfterExecute and APIQueryGeneratorAfterExecute
330 hooks which allow for extending core modules in a cleaner way
331 * action=protect checks for invalid protection types and levels
332 * (bug 15673) Added indentation to format=wddxfm output and improved built-in
333 WDDX formatter to resemble PHP's more
334 * (bug 15706) Empty values for apprtype and apprlevel are now silently ignored
335 rather than causing an exception
336 * Added uiprop=preferencestoken to meta=userinfo
337 * (bug 15609) Add inprop=url and inprop=readable to prop=info
338 * Add ApiDisabled and ApiQueryDisabled classes so individual modules can
339 be disabled in LocalSettings.php
340 * (bug 15653) Add prop=duplicatefiles
341 * (bug 15768) Add list=watchlistraw
342 * (bug 15647) action=edit with basetimestamp fails if the page has been deleted
343 and undeleted since the last edit
344 * (bug 15785) Allow for different expiry times for different protections in
345 action=protect
346 * Added allowsduplicates attribute to action=paraminfo output
347 * (bug 15767) apfilterlanglinks returns duplicate results
348 * (bug 15845) Added pageid/fromid parameter to action=delete/move, making
349 manipulation of legacy pages with invalid titles possible
350 * (bug 15881) Empty or invalid parameters cause database errors
351 * The maxage and smaxage parameters are now properly validated
352 * (bug 15945) list=recentchanges doesn't check $wgUseRCPatrol, $wgUseNPPatrol
353 and patrolmarks right
354 * (bug 15985) acfrom and aifrom parameters didn't work when sorting in
355 descending order.
356 * (bug 15995) Add cmstartsortkey and cmendsortkey parameters to
357 list=categorymembers
358 * (bug 16017) list=categorymembers sets invalid continue parameters for
359 sortkeys containing pipes
360 * (bug 16018) Added uccontinue parameter to list=usercontribs so paging
361 works properly when multiple users are queried or a userprefix is used
362 * (bug 16047) Added activeusers attribute to meta=siteinfo&siprop=statistics
363 output
364 * Added redirect resolution to action=parse
365 * (bug 16074) rvprop=content combined with a generator with a high limit causes
366 an error
367 * (bug 16105) Image metadata attributes containing spaces result in invalid XML
368
369 === Languages updated in 1.14 ===
370
371 MediaWiki supports over 300 languages. Many localisations are updated
372 regularly. Below only new and removed languages are listed.
373
374 * Bakhtiari (bqi) (new)
375 * Fiji Hindi (Devanagari script) (hif-deva) (new)
376 * Krio (kri) (new)
377 * Lezghian (lez) (new)
378 * Laz (lzz) (new)
379 * Eastern Mari (mhr) (new)
380 * Niuean (niu) (new)
381 * Oromo (om) (new)
382 * Plautdietsch (pdt) (new)
383 * Tarantino (roa-tara) (new)
384 * Serbo-Croatian (sh) (new)
385 * Tulu (tcy) (new)
386
387 == Compatibility ==
388
389 MediaWiki 1.14 requires PHP 5 (5.2 recommended). PHP 4 is no longer supported.
390
391 PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing:
392 http://bugs.php.net/bug.php?id=34879
393 Upgrade affected systems to PHP 5.1 or higher.
394
395 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
396 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
397
398
399 == Upgrading ==
400
401 1.14 has several database changes since 1.13, and will not work without schema
402 updates.
403
404 If upgrading from before 1.11, and you are using a wiki as a commons repository,
405 make sure that it is updated as well. Otherwise, errors may arise due to
406 database schema changes.
407
408 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
409 new database fields are filled with data.
410
411 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
412 changes are made, and there is a slightly higher chance that things could
413 break. Don't forget to always back up your database before upgrading!
414
415 See the file UPGRADE for more detailed upgrade instructions.
416
417
418 === Caveats ===
419
420 Some output, particularly involving user-supplied inline HTML, may not
421 produce 100% valid or well-formed XHTML output. Testers are welcome to
422 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
423 cases, but this is not recommended on live sites. (This must be set for
424 MathML to display properly in Mozilla.)
425
426 For notes on 1.13.x and older releases, see HISTORY.
427
428
429 === Online documentation ===
430
431 Documentation for both end-users and site administrators is currently being
432 built up on MediaWiki.org, and is covered under the GNU Free Documentation
433 License (except for pages that explicitly state that their contents are in
434 the public domain) :
435
436 http://www.mediawiki.org/wiki/Documentation
437
438
439 === Mailing list ===
440
441 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
442 wikitech-l list:
443
444 http://lists.wikimedia.org/mailman/listinfo/mediawiki-l
445
446 A low-traffic announcements-only list is also available:
447
448 http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
449
450 It's highly recommended that you sign up for one of these lists if you're
451 going to run a public MediaWiki, so you can be notified of security fixes.
452
453
454 === IRC help ===
455
456 There's usually someone online in #mediawiki on irc.freenode.net