Merge "(bug 44385) move jquery.collapsibleTabs module to Vector extension"
[lhc/web/wiklou.git] / RELEASE-NOTES-1.21
1 Security reminder: MediaWiki does not require PHP's register_globals. If you
2 have it on, turn it '''off''' if you can.
3
4 == MediaWiki 1.21 ==
5
6 THIS IS NOT A RELEASE YET
7
8 MediaWiki 1.21 is an alpha-quality branch and is not recommended for use in
9 production.
10
11 === Configuration changes in 1.21 ===
12 * (bug 29374) $wgVectorUseSimpleSearch is now enabled by default.
13 * Deprecated $wgAllowRealName is removed. Use $wgHiddenPrefs[] = 'realname'
14 instead.
15 * (bug 39957) Added $wgUnwatchedPageThreshold, specifying minimum count
16 of page watchers required for the number to be accessible to users
17 without the unwatchedpages permission.
18 * $wgBug34832TransitionalRollback has been removed.
19 * (bug 29472) $wgUseDynamicDates has been removed and its functionality
20 disabled.
21
22 === New features in 1.21 ===
23 * (bug 38110) Schema changes (adding or dropping tables, indicies and
24 fields) can be now be done separately from from other changes that
25 update.php makes. This is useful in environments that use database
26 permissions to restrict schema changes but allow the DB user that
27 MediaWiki normally runs as to perform other changes that update.php
28 makes. Schema changes can be run seperately. See the file UPGRADE
29 for more information.
30 * (bug 34876) jquery.makeCollapsible has been improved in performance.
31 * Added ContentHandler facility to allow extensions to support other content
32 than wikitext. See docs/contenthandler.txt for details.
33 * New feature was developed for showing high-DPI thumbnails for high-DPI mobile
34 and desktop displays (configurable with $wgResponsiveImages).
35 * Added new backend to represent and store information about sites and site
36 specific configuration.
37 * jQuery upgraded from 1.8.2 to 1.8.3.
38 * jQuery UI upgraded from 1.8.23 to 1.8.24.
39 * Added separate fa_sha1 field to filearchive table. This allows sha1
40 searches with the api in miser mode for deleted files.
41 * Add initial and programmatic sorting for tablesorter.
42 * Add the event "sortEnd.tablesorter", triggered after sorting has completed.
43 * The Job system was refactored to allow for different backing stores for
44 queues as well as cross-wiki access to queues, among other things. The schema
45 for the DB queue was changed to support better concurrency and reduce
46 deadlock errors.
47 * Added ApiQueryORM class to facilitate creation of query API modules based on
48 tables that have a corresponding ORMTable class.
49 * (bug 40876) Icon for PSD (Adobe Photoshop) file types.
50 * (bug 40641) Implemented Special:Version/Credits with a list of contributors.
51 * (bug 7851) Implemented one-click AJAX patrolling.
52 * The <data>, <time>, <meta>, and <link> elements are allowed within WikiText
53 for use with Microdata.
54 * The HTML5 <mark> tag has been whitelisted.
55 * Added ParserCloned hook for when the Parser object is cloned.
56 * Added AlternateEditPreview hook to allow extensions to replace the page
57 preview from the edit page.
58 * Added EditPage::showStandardInputs:options hook to allow extensions to add
59 new fields to the "editOptions" area of the edit form.
60 * Upload stash DB schema altered to improve upload performance.
61 * The following global functions are now reporting deprecated warnings in
62 debug mode: wfMsg, wfMsgNoTrans, wfMsgForContent, wfMsgForContentNoTrans,
63 wfMsgReal, wfMsgGetKey, wfMsgHtml, wfMsgWikiHtml, wfMsgExt, wfEmptyMsg. Use
64 the Message class, or the global method wfMessage.
65 * Added $wgEnableCanonicalServerLink, off by default. If enabled, a
66 <link rel=canonical> tag is added to every page indicating the correct server
67 to use.
68 * Debug message emitted by wfDebugLog() will now be prefixed with the group
69 name when its logged to the default log file. That is the case whenever the
70 group has no key in wgDebugLogGroups, that will help triage the default log.
71 * (bug 24620) Add types to LogFormatter.
72 * jQuery JSON upgraded from 2.3 to 2.4.0.
73 * Added GetDoubleUnderscoreIDs hook, for modifying the list of magic words.
74 * DatabaseUpdater class has two new methods to ease extensions schema changes:
75 dropExtensionIndex and renameExtensionIndex.
76 * New preference type - 'api'. Preferences of this type are not shown on
77 Special:Preferences, but are still available via the action=options API.
78 * (bug 39397) Hide rollback link if a user is the only contributor of the page.
79 * $wgPageInfoTransclusionLimit limits the list size of transcluded articles
80 on the info action. Default is 50.
81 * Added action=createaccount to allow user account creation.
82 * (bug 40124) action=options API also allows for setting of arbitrary
83 preferences, provided that their names are prefixed with 'userjs-'. This
84 officially reenables the feature that was undocumented and defective
85 in MW 1.20 (saving preferences using Special:Preferences cleared any
86 additional fields) and which has been disabled in 1.20.1 as a part of
87 a security fix (bug 42202).
88 * Added the ability to limit the wall clock time used by shell processes,
89 as well as the CPU time. Configurable with $wgMaxShellWallClockTime.
90 * Allow memory of shell subprocesses to be limited using Linux cgroups
91 instead of ulimit -v, which tends to cause deadlocks in recent versions
92 of ImageMagick. Configurable with $wgShellCgroup.
93 * Added $wgWhitelistReadRegexp for regex whitelisting.
94 * (bug 5346) Categories that are redirects will be displayed italic in
95 the category links section at the bottom of a page.
96 * (bug 43915) New maintenance script deleteEqualMessages.php.
97 * New collation uppercase-sv, which is like uppercase, but adapted
98 to Swedish sort order.
99 * WikiText now permits the use of WAI-ARIA's role="presentation" inside of
100 html elements and tables. This allows presentational markup, especially
101 tables. To be marked up as such.
102
103 === Bug fixes in 1.21 ===
104 * (bug 40353) SpecialDoubleRedirect should support interwiki redirects.
105 * (bug 40352) fixDoubleRedirects.php should support interwiki redirects.
106 * (bug 9237) SpecialBrokenRedirect should not list interwiki redirects.
107 * (bug 34960) Drop unused fields rc_moved_to_ns and rc_moved_to_title from
108 recentchanges table.
109 * (bug 32951) Do not register internal externals with absolute protocol,
110 when server has relative protocol.
111 * (bug 39005) When purging proxies listed in $wgSquidServers using HTTP PURGE
112 method requests, we now send a Host header by default, for Varnish
113 compatibility. This also works with Squid in reverse-proxy mode. If you wish
114 to support Squid configured in forward-proxy mode, set
115 $wgSquidPurgeUseHostHeader to false.
116 * (bug 37020) sql.php with readline eats semicolon.
117 * (bug 11748) Properly handle optionally-closed HTML tags when Tidy is
118 disabled, and don't wrap HTML-syntax definition lists in paragraphs.
119 * (bug 41409) Diffs while editing an old revision should again diff against the
120 current revision.
121 * (bug 41494) Honor $wgLogExceptionBacktrace when logging non-API exceptions
122 caught during API execution.
123 * (bug 37963) Fixed loading process for user options.
124 * (bug 26995) Update filename field on Upload page after having sanitized it.
125 * (bug 41793) Contribution links to users with 0 edits on Special:ListUsers
126 didn't show up red.
127 * (bug 41899) A PHP notice no longer occurs when using the "rvcontinue" API
128 parameter.
129 * (bug 42036) Account creation emails now contain canonical (not
130 protocol-relative) URLs.
131 * (bug 41990) Fix regression: API edit with redirect=true and lacking
132 starttimestamp and basetimestamp should not cause an edit conflict.
133 * (bug 41706) EditPage: Preloaded page should be converted if possible and
134 needed.
135 * (bug 41886) Rowspans are no longer exploded by tablesorter until the table is
136 actually sorted.
137 * (bug 2865) User interface HTML elements don't use lang attribute.
138 (completed the fix by adding the lang attribute to firstHeading).
139 * (bug 42173) Removed namespace prefixes on Special:UncategorizedCategories.
140 * (bug 36053) Log in "returnto" feature forgets query parameters if no
141 title parameter was specified.
142 * (bug 42410) API action=edit now returns correct timestamp for the new edit.
143 * (bug 14901) Email notification mistakes log action for new page creation.
144 Enotif no longer sends "page has been created" notifications for some log
145 actions. The following events now have a correct message: page creation,
146 deletion, move, restore (undeletion), change (edit). Parameter
147 $CHANGEDORCREATED is deprecated in 'enotif_body' and scheduled for removal in
148 MediaWiki 1.23.
149 * (bug 457) In the sidebar of Vector, CologneBlue, Monobook, and Monobook-based
150 skins, the heading levels have been changed from (variously per skin)
151 <h4>, <h5> or <h6> to only <h3>s, with a <h2> hidden heading above them.
152 If you are styling or scripting the headings in a custom way, this change
153 will require updates to your site's CSS or JS.
154 * (bug 41342) jquery.suggestions should cancel any active (async) fetches
155 before it triggers another fetch.
156 * (bug 42184) $wgUploadSizeWarning missing second variable.
157 * (bug 34581) removeUnusedAccounts.php maintenance script now ignores newuser
158 log when determining whether an account is used.
159 * (bug 43379) Gracefully fail if rev_len is unavailable for a revision on the
160 History page.
161 * (bug 42949) API no longer assumes all exceptions are MWException.
162 * (bug 41733) Hide "New user message" (.usermessage) element from printable view.
163 * (bug 39062) Special:Contributions will display changes that don't have
164 a parent id instead of just an empty bullet item.
165 * (bug 37209) "LinkCache doesn't currently know about this title" error fixed.
166 * wfMerge() now works if $wgDiff3 contains spaces
167 * (bug 43052) mediawiki.action.view.dblClickEdit.dblClickEdit should trigger
168 ca-edit click instead opening URL directly.
169 * (bug 43964) Invalid value of "link" parameter in <gallery> no longer produces
170 a fatal error.
171 * (bug 44775) The username field is not pre-filled when creating an account.
172
173 === API changes in 1.21 ===
174 * prop=revisions can now report the contentmodel and contentformat.
175 See docs/contenthandler.txt.
176 * action=edit and action=parse now support contentmodel and contentformat
177 parameters to control the interpretation of page content.
178 See docs/contenthandler.txt for details.
179 * (bug 35693) ApiQueryImageInfo now suppresses errors when unserializing metadata.
180 * (bug 40111) Disable minor edit for page/section creation by API.
181 * (bug 41042) Revert change to action=parse&page=... behavior when the page
182 does not exist.
183 * (bug 27202) Add timestamp sort to list=allimages.
184 * (bug 43137) Don't return the sha1 of revisions through the API if the content is
185 revision-deleted.
186 * ApiQueryImageInfo now also returns imageinfo for redirects.
187 * list=alltransclusions added to enumerate every instance of page embedding
188 * list=alllinks & alltransclusions now allow both 'from' and 'continue' in
189 the same query. When both are present, 'from' is simply ignored.
190 * list=alllinks & alltransclusions now allow 'unique' in generators, to yield
191 a list of all link/template target pages instead of source pages.
192 * BREAKING CHANGE: list=logevents output format changed for details of some log
193 types. Specifically, details that were formerly reported under a key like
194 "4::foo" will now be reported under a key of simply "foo".
195 * BREAKING CHANGE: '??_badcontinue' error code was changed to '??badcontinue'
196 for all query modules.
197 * ApiQueryBase adds 'badcontinue' error code if module has 'continue' parameter.
198 * (bug 35885) Removed version parameter and all getVersion() methods.
199 * action=options now takes a "resetkinds" option, which allows only resetting
200 certain types of preferences when the "reset" option is set.
201 * (bug 36751) ApiQueryImageInfo now returns imageinfo for the redirect target
202 when queried with &redirects=.
203 * (bug 31849) ApiQueryImageInfo no longer gets confused when asked for info on
204 a redirect and its target.
205 * (bug 43849) ApiQueryImageInfo no longer throws exceptions with ForeignDBRepo
206 redirects.
207 * On error, any warnings generated before that error will be shown in the result.
208 * action=help suports generalized submodules (modules=query+value), querymodules obsolete
209 * ApiQueryImageInfo continuation is more reliable. The only major change is
210 that the imagerepository property will no longer be set on page objects not
211 processed in the current query (i.e. non-images or those skipped due to
212 iicontinue).
213 * Add supports for all pageset capabilities - generators, redirects, converttitles to
214 action=purge and action=setnotificationtimestamp.
215
216 === API internal changes in 1.21 ===
217 * For debugging only, a new global $wgDebugAPI removes many API restrictions when true.
218 Never use on the production servers, as this flag introduces security holes.
219 Whenever enabled, a warning will also be added to all output.
220 * ApiModuleManager now handles all submodules (actions,props,lists) and instantiation
221 * Query stores prop/list/meta as submodules
222 * ApiPageSet can now be used in any action to process titles/pageids/revids or any generator.
223 * BREAKING CHANGE: ApiPageSet constructor now has two params instead of three, with only the
224 first one keeping its meaning. ApiPageSet is now derived from ApiBase.
225 * BREAKING CHANGE: ApiQuery::newGenerator() and executeGeneratorModule() were deleted.
226 * ApiQueryGeneratorBase::setGeneratorMode() now requires a pageset param.
227
228 === Languages updated in 1.21 ===
229
230 MediaWiki supports over 350 languages. Many localisations are updated
231 regularly. Below only new and removed languages are listed, as well as
232 changes to languages because of Bugzilla reports.
233
234 * South Azerbaijani (azb) added.
235 * (bug 30040) Autonym for nds-nl is now 'Nedersaksies' (was 'Nedersaksisch').
236 * (bug 34977) Now formatted numbers in Spanish use space as separator
237 for thousands, as mandated by the Real Academia EspaƱola.
238 * (bug 35031) Kurdish formatted numbers now use period and comma
239 as separators for thousands and decimals respectively.
240
241 === Other changes in 1.21 ===
242 * BREAKING CHANGE: (bug 44385) Removed the jquery.collapsibleTabs module and
243 moved it to the Vector extension. It was entirely Vector-extension-specific,
244 deeply interconnected with the extension, and this functionality really
245 belongs to the extension instead of the skin anyway. In the unlikely case you
246 were using it, you have to either copy it to your extension, or install the
247 Vector extension (and possibly disable its features using config settings if
248 you don't want them).
249
250 == Compatibility ==
251
252 MediaWiki 1.21 requires PHP 5.3.2 or later.
253
254 MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
255 support for them is somewhat less mature. There is experimental support for IBM
256 DB2 and Oracle.
257
258 The supported versions are:
259
260 * MySQL 5.0.2 or later
261 * PostgreSQL 8.3 or later
262 * SQLite 3.3.7 or later
263 * Oracle 9.0.1 or later
264
265 == Upgrading ==
266
267 1.21 has several database changes since 1.20, and will not work without schema
268 updates. Note that due to changes to some very large tables like the revision
269 table, the schema update may take quite long (minutes on a medium sized site,
270 many hours on a large site).
271
272 If upgrading from before 1.11, and you are using a wiki as a commons
273 repository, make sure that it is updated as well. Otherwise, errors may arise
274 due to database schema changes.
275
276 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
277 new database fields are filled with data.
278
279 If you are upgrading from MediaWiki 1.4.x or earlier, you should upgrade to
280 1.5 first. The upgrade script maintenance/upgrade1_5.php has been removed
281 with MediaWiki 1.21.
282
283 Don't forget to always back up your database before upgrading!
284
285 See the file UPGRADE for more detailed upgrade instructions.
286
287 For notes on 1.19.x and older releases, see HISTORY.
288
289 == Online documentation ==
290
291 Documentation for both end-users and site administrators is available on
292 MediaWiki.org, and is covered under the GNU Free Documentation License (except
293 for pages that explicitly state that their contents are in the public domain):
294
295 https://www.mediawiki.org/wiki/Documentation
296
297 == Mailing list ==
298
299 A mailing list is available for MediaWiki user support and discussion:
300
301 https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
302
303 A low-traffic announcements-only list is also available:
304
305 https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
306
307 It's highly recommended that you sign up for one of these lists if you're
308 going to run a public MediaWiki, so you can be notified of security fixes.
309
310 == IRC help ==
311
312 There's usually someone online in #mediawiki on irc.freenode.net.