Profiler: Call getContentType() only once in logData()
[mediawiki.git] / RELEASE-NOTES-1.25
blobfa870bb414dd783db5ccc9a88f2f4382169bc302
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.
4 == MediaWiki 1.25 ==
6 THIS IS NOT A RELEASE YET
8 MediaWiki 1.25 is an alpha-quality branch and is not recommended for use in
9 production.
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.
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.
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().
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.
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
131 === Languages updated in 1.25 ===
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.
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>.
168 == Compatibility ==
170 MediaWiki 1.25 requires PHP 5.3.3 or later. There is experimental support for
171 HHVM 3.3.0.
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.
177 The supported versions are:
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)
185 == Upgrading ==
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).
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.
196 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
197 new database fields are filled with data.
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.
203 Don't forget to always back up your database before upgrading!
205 See the file UPGRADE for more detailed upgrade instructions.
207 For notes on 1.23.x and older releases, see HISTORY.
209 == Online documentation ==
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):
215         https://www.mediawiki.org/wiki/Documentation
217 == Mailing list ==
219 A mailing list is available for MediaWiki user support and discussion:
221         https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
223 A low-traffic announcements-only list is also available:
225         https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
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.
230 == IRC help ==
232 There's usually someone online in #mediawiki on irc.freenode.net.