Merge "Correctly parse <indicator/> contents, Parser rejiggering"
[lhc/web/wiklou.git] / RELEASE-NOTES-1.25
1 Security reminder: If you have PHP's register_globals option set, you must
2 turn it off. MediaWiki will not work with it enabled.
3
4 == MediaWiki 1.25 ==
5
6 THIS IS NOT A RELEASE YET
7
8 MediaWiki 1.25 is an alpha-quality branch and is not recommended for use in
9 production.
10
11 === Configuration changes in 1.25 ===
12 * $wgPageShowWatchingUsers was removed.
13 * $wgLocalVirtualHosts has been added to replace $wgConf->localVHosts.
14 * $wgAntiLockFlags was removed.
15 * Edit tokens returned from User::getEditToken may change on every call. Token
16 validity must be checked by passing the user-supplied token to
17 User::matchEditToken rather than by testing for equality with a
18 newly-generated token.
19 * (bug 72951) The UserGetLanguageObject hook may be passed any IContextSource
20 for its $context parameter. Formerly it was documented as receiving a
21 RequestContext specifically.
22
23 === New features in 1.25 ===
24 * (bug 62861) Updated plural rules to CLDR 26. Includes incompatible changes
25 for plural forms in Russian, Prussian, Tagalog, Manx and several languages
26 that fall back to Russian.
27 * (bug 58139) ResourceLoaderFileModule now supports language fallback
28 for 'languageScripts'.
29 * Added a new hook, "ContentAlterParserOutput", to allow extensions to modify the
30 parser output for a content object before links update.
31 * (bug 35785) Enhanced recent changes and extended watchlist are now default.
32 Documentation: https://meta.wikimedia.org/wiki/Help:Enhanced_recent_changes
33 and https://www.mediawiki.org/wiki/Manual:$wgDefaultUserOptions.
34 * (bug 67341) SVG images will no longer be base64-encoded when being embedded
35 in CSS. This results in slight size increase before gzip compression (due to
36 percent-encoding), but up to 20% decrease after it.
37 * Upgrade jStorage to v0.4.12.
38 * MediaWiki now natively supports page status indicators: icons (or short text
39 snippets) usually displayed in the top-right corner of the page. They have
40 been in use on Wikipedia for a long time, implemented using templates and CSS
41 absolute positioning.
42 - Basic wikitext syntax: <indicator name="foo">[[File:Foo.svg|20px]]</indicator>
43 - Usage instructions: https://www.mediawiki.org/wiki/Help:Page_status_indicators
44 - Adjusting custom skins to support indicators:
45 https://www.mediawiki.org/wiki/Manual:Skinning#Page_status_indicators
46 * Edit tokens may now be time-limited: passing a maximum age to
47 User::matchEditToken will reject any older tokens.
48 * The debug logging internals have been overhauled, and are now using the
49 PSR-3 interfaces.
50
51 === Bug fixes in 1.25 ===
52 * (bug 71003) No additional code will be generated to try to load CSS-embedded
53 SVG images in Internet Explorer 6 and 7, as they don't support them anyway.
54 * (bug 67021) On Special:BookSources, corrected validation of ISBNs (both
55 10- and 13-digit forms) containing "X".
56 * Page moving was refactored into a MovePage class. As part of that:
57 ** The AbortMove hook was removed.
58 ** MovePageIsValidMove is for extensions to specify whether a page
59 cannot be moved for technical reasons, and should not be overriden.
60 ** MovePageCheckPermissions is for checking whether the given user is
61 allowed to make the move.
62 ** Title::moveNoAuth() was deprecated. Use the MovePage class instead.
63 ** Title::moveTo() was deprecated. Use the MovePage class instead.
64 ** Title::isValidMoveOperation() broken down into MovePage::isValidMove()
65 and MovePage::checkPermissions().
66
67 === Action API changes in 1.25 ===
68 * (bug 65403) XML tag highlighting is now only performed for formats
69 "xmlfm" and "wddxfm".
70 * action=paraminfo supports generalized submodules (modules=query+value),
71 querymodules and formatmodules are deprecated
72 * action=paraminfo no longer outputs descriptions and other help text by
73 default. If needed, it may be requested using the new 'helpformat' parameter.
74 * action=help has been completely rewritten, and outputs help in HTML
75 rather than plain text.
76 * Hitting api.php without specifying an action now displays only the help for
77 the main module, with links to submodule help.
78 * API help is no longer displayed on errors.
79 * Internationalized messages returned by the API will be in the wiki's content
80 language by default. 'uselang' is now a recognized API parameter;
81 "uselang=user" may be used to select the language from the current user's
82 preferences.
83 * Default output format for the API is now jsonfm.
84 * Simplified continuation will return a "batchcomplete" property in the result
85 when a batch of pages is complete.
86 * Pretty-printed HTML output now has nicer formatting and (if available)
87 better syntax highlighting.
88
89 === Action API internal changes in 1.25 ===
90 * ApiHelp has been rewritten to support i18n and paginated HTML output.
91 Most existing modules should continue working without changes, but should do
92 the following:
93 * Add an i18n message "apihelp-{$moduleName}-description" to replace getDescription().
94 * Add i18n messages "apihelp-{$moduleName}-param-{$param}" for each parameter
95 to replace getParamDescription(). If necessary, the settings array returned
96 by getParams() can use the new ApiBase::PARAM_HELP_MSG key to override the
97 message.
98 * Implement getExamplesMessages() to replace getExamples().
99 * Modules with submodules (like action=query) must have their submodules
100 override ApiBase::getParent() to return the correct parent object.
101 * The 'APIGetDescription' and 'APIGetParamDescription' hooks are deprecated,
102 and will have no effect for modules using i18n messages. Use
103 'APIGetDescriptionMessages' and 'APIGetParamDescriptionMessages' instead.
104 * Api formatters will no longer be asked to display the help screen on errors.
105 * ApiMain::getCredits() was removed. The credits are available in the
106 'api-credits' i18n message.
107 * ApiFormatBase has been changed to support i18n and syntax highlighting via
108 extensions with the new 'ApiFormatHighlight' hook. Core syntax highlighting
109 has been removed.
110 * ApiFormatBase now always buffers. Output is done when
111 ApiFormatBase::closePrinter is called.
112 * The following methods have been deprecated and may be removed in a future
113 release:
114 * ApiBase::getDescription
115 * ApiBase::getParamDescription
116 * ApiBase::getExamples
117 * ApiBase::makeHelpMsg
118 * ApiBase::makeHelpArrayToString
119 * ApiBase::makeHelpMsgParameters
120 * ApiFormatBase::setUnescapeAmps
121 * ApiFormatBase::getWantsHelp
122 * ApiFormatBase::setHelp
123 * ApiFormatBase::formatHTML
124 * ApiFormatBase::setBufferResult
125 * ApiFormatBase::getDescription
126 * ApiMain::setHelp
127 * ApiMain::reallyMakeHelpMsg
128 * ApiMain::makeHelpMsgHeader
129 * ApiQueryImageInfo::getPropertyDescriptions
130
131 === Languages updated in 1.25 ===
132
133 MediaWiki supports over 350 languages. Many localisations are updated
134 regularly. Below only new and removed languages are listed, as well as
135 changes to languages because of Bugzilla reports.
136
137 === Other changes in 1.25 ===
138 * The skin autodiscovery mechanism, deprecated in MediaWiki 1.23, has been
139 removed. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for
140 migration guide for creators and users of custom skins that relied on it.
141 * Javascript variable 'wgFileCanRotate' now only available on Special:Upload.
142 * (bug 56257) Set site logo from mediawiki.skinning.interface module instead of
143 inline styles in the HTML.
144 * Removed ApiQueryUsers::getAutoGroups(). (deprecated since 1.20)
145 * Removed XmlDumpWriter::schemaVersion(). (deprecated since 1.20)
146 * Removed LogEventsList::getDisplayTitle(). (deprecated since 1.20)
147 * Removed Preferences::trySetUserEmail(). (deprecated since 1.20)
148 * Removed mw.user.name() and mw.user.anonymous() methods. (deprecated since 1.20)
149 * Removed 'ok' and 'err' parameters in the mediawiki.api modules. (deprecated
150 since 1.20)
151 * Removed 'async' parameter from the mw.Api#getCategories() method. (deprecated
152 since 1.20)
153 * Removed 'jquery.json' module. (deprecated since 1.24)
154 Use the 'json' module and global JSON object instead.
155 * Deprecated OutputPage::readOnlyPage() and OutputPage::rateLimited().
156 Also, the former will now throw an MWException if called with one or more
157 arguments.
158 * Removed hitcounters and associated code.
159 * The "temp" zone of the upload respository is now considered private. If it
160 already exists (such as under the images/ directory), please make sure that
161 the directory is not web readable (e.g. via a .htaccess file).
162 * BREAKING CHANGE: In the XML dump format used by Special:Export and
163 dumpBackup.php, the <model> and <format> tags now apprear before the <text>
164 tag, instead of after the <text> and <sha1> tags.
165 The new schema version is 0.10, the new schema URI is
166 <https://www.mediawiki.org/xml/export-0.10.xsd>.
167
168 == Compatibility ==
169
170 MediaWiki 1.25 requires PHP 5.3.3 or later. There is experimental support for
171 HHVM 3.3.0.
172
173 MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
174 support for them is somewhat less mature. There is experimental support for
175 Oracle and Microsoft SQL Server.
176
177 The supported versions are:
178
179 * MySQL 5.0.2 or later
180 * PostgreSQL 8.3 or later
181 * SQLite 3.3.7 or later
182 * Oracle 9.0.1 or later
183 * Microsoft SQL Server 2005 (9.00.1399)
184
185 == Upgrading ==
186
187 1.25 has several database changes since 1.24, and will not work without schema
188 updates. Note that due to changes to some very large tables like the revision
189 table, the schema update may take quite long (minutes on a medium sized site,
190 many hours on a large site).
191
192 If upgrading from before 1.11, and you are using a wiki as a commons
193 repository, make sure that it is updated as well. Otherwise, errors may arise
194 due to database schema changes.
195
196 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
197 new database fields are filled with data.
198
199 If you are upgrading from MediaWiki 1.4.x or earlier, you should upgrade to
200 1.5 first. The upgrade script maintenance/upgrade1_5.php has been removed
201 with MediaWiki 1.21.
202
203 Don't forget to always back up your database before upgrading!
204
205 See the file UPGRADE for more detailed upgrade instructions.
206
207 For notes on 1.23.x and older releases, see HISTORY.
208
209 == Online documentation ==
210
211 Documentation for both end-users and site administrators is available on
212 MediaWiki.org, and is covered under the GNU Free Documentation License (except
213 for pages that explicitly state that their contents are in the public domain):
214
215 https://www.mediawiki.org/wiki/Documentation
216
217 == Mailing list ==
218
219 A mailing list is available for MediaWiki user support and discussion:
220
221 https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
222
223 A low-traffic announcements-only list is also available:
224
225 https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
226
227 It's highly recommended that you sign up for one of these lists if you're
228 going to run a public MediaWiki, so you can be notified of security fixes.
229
230 == IRC help ==
231
232 There's usually someone online in #mediawiki on irc.freenode.net.