Merge "Refactor UploadBase::checkWarnings into smaller methods"
[lhc/web/wiklou.git] / RELEASE-NOTES-1.30
1 == MediaWiki 1.30 ==
2
3 THIS IS NOT A RELEASE YET
4
5 MediaWiki 1.30 is an alpha-quality branch and is not recommended for use in
6 production.
7
8 === Configuration changes in 1.30 ===
9 * The "C.UTF-8" locale should be used for $wgShellLocale, if available, to avoid
10 unexpected behavior when code uses locale-sensitive string comparisons. For
11 example, the Scribunto extension considers "bar" < "Foo" in most locales
12 since it ignores case.
13 * $wgShellLocale now affects LC_ALL rather than only LC_CTYPE. See
14 documentation of $wgShellLocale for details.
15 * $wgShellLocale is now applied for all requests. wfInitShellLocale() is
16 deprecated and a no-op, as it is no longer needed.
17 * $wgJobClasses may now specify callback functions as an alternative to plain
18 class names. This is intended for extensions that want control over the
19 instantiation of their jobs, to allow for proper dependency injection.
20 * $wgResourceModules may now specify callback functions as an alternative
21 to plain class names, using the 'factory' key in the module description
22 array. This allows dependency injection to be used for ResourceLoader modules.
23 * $wgExceptionHooks has been removed.
24 * (T45547) $wgUsePigLatinVariant added (off by default).
25
26 === New features in 1.30 ===
27 * (T37247) Output from Parser::parse() will now be wrapped in a div with
28 class="mw-parser-output" by default. This may be changed or disabled using
29 ParserOptions::setWrapOutputClass().
30 * Added 'ChangeTagsAllowedAdd' hook, enabling extensions to allow software-
31 specific tags to be added by users.
32 * Added a 'ParserOptionsRegister' hook to allow extensions to register
33 additional parser options.
34 * (T45547) Included Pig Latin, a language game in English, as a
35 LanguageConverter variant. This allows English-speaking developers
36 to develop and test LanguageConverter more easily. Pig Latin can be
37 enabled by setting $wgUsePigLatinVariant to true.
38
39 === Languages updated in 1.30 ===
40
41 * Support for kbp (Kabɩyɛ / Kabiyè) was added.
42
43 === External library changes in 1.30 ===
44
45 ==== Upgraded external libraries ====
46 * mediawiki/mediawiki-codesniffer updated to 0.8.1.
47
48 ==== New external libraries ====
49 * The class \TestingAccessWrapper has been moved to the external library
50 wikimedia/testing-access-wrapper and renamed \Wikimedia\TestingAccessWrapper.
51
52 ==== Removed and replaced external libraries ====
53 * …
54
55 === Bug fixes in 1.30 ===
56 * (T151633) Ordered list items use now Devanagari digits in Nepalese
57 (thanks to Sfic)
58
59 === Action API changes in 1.30 ===
60 * (T37247) action=parse output will be wrapped in a div with
61 class="mw-parser-output" by default. This may be changed or disabled using
62 the new 'wrapoutputclass' parameter.
63 * When errorformat is not 'bc', abort reasons from action=login will be
64 formatted as specified by the error formatter parameters.
65 * action=compare can now handle arbitrary text, deleted revisions, and
66 returning users and edit comments.
67 * (T164106) The 'rvdifftotext', 'rvdifftotextpst', 'rvdiffto',
68 'rvexpandtemplates', 'rvgeneratexml', 'rvparse', and 'rvprop=parsetree'
69 parameters to prop=revisions are deprecated, as are the similarly named
70 parameters to prop=deletedrevisions, list=allrevisions, and
71 list=alldeletedrevisions. Use action=compare, action=parse, or
72 action=expandtemplates instead.
73
74 === Action API internal changes in 1.30 ===
75 * ApiBase::getDescriptionMessage() and the "apihelp-*-description" messages are
76 deprecated. The existing message should be split between "apihelp-*-summary"
77 and "apihelp-*-extended-description".
78 * (T123931) Individual values of multi-valued parameters can now be marked as
79 deprecated.
80
81 === Languages updated in 1.30 ===
82 MediaWiki supports over 350 languages. Many localisations are updated
83 regularly. Below only new and removed languages are listed, as well as
84 changes to languages because of Phabricator reports.
85
86 * …
87
88 ==== Pig Latin added ====
89 * (T45547) Added Pig Latin, a made-up English variant (en-x-piglatin),
90 for easier variant development and testing. Disabled by default. It can be
91 enabled by setting $wgUsePigLatinVariant to true.
92
93 === Other changes in 1.30 ===
94 * The use of an associative array for $wgProxyList, where the IP address is in
95 the key instead of the value, is deprecated (e.g. [ '127.0.0.1' => 'value' ]).
96 Please convert these arrays to indexed/sequential ones (e.g. [ '127.0.0.1' ]).
97 * mw.user.bucket (deprecated in 1.23) was removed.
98 * LoadBalancer::getServerInfo() and LoadBalancer::setServerInfo() are
99 deprecated. There are no known callers.
100 * File::getStreamHeaders() was deprecated.
101 * MediaHandler::getStreamHeaders() was deprecated.
102 * Title::canTalk() was deprecated. The new Title::canHaveTalkPage() should be
103 used instead.
104 * MWNamespace::canTalk() was deprecated. The new MWNamespace::hasTalkNamespace()
105 should be used instead.
106 * The ExtractThumbParameters hook (deprecated in 1.21) was removed.
107 * The OutputPage::addParserOutputNoText and ::getHeadLinks methods (both
108 deprecated in 1.24) were removed.
109 * wfMemcKey() and wfGlobalCacheKey() were deprecated. BagOStuff::makeKey() and
110 BagOStuff::makeGlobalKey() should be used instead.
111 * (T146304) Preprocessor handling of LanguageConverter markup has been improved.
112 As a result of the new uniform handling, '-{' may need to be escaped
113 (for example, as '-<nowiki/>{') where it occurs inside template arguments
114 or wikilinks.
115 * (T163966) Page moves are now counted as edits for the purposes of
116 autopromotion, i.e., they increment the user_editcount field in the database.
117 * Two new hooks, LogEventsListLineEnding and NewPagesLineEnding, were added for
118 manipulating Special:Log and Special:NewPages lines.
119 * The OldChangesListRecentChangesLine, EnhancedChangesListModifyLineData,
120 PageHistoryLineEnding, ContributionsLineEnding and DeletedContributionsLineEnding
121 hooks have an additional parameter, for manipulating HTML data attributes of
122 RC/history lines. EnhancedChangesListModifyBlockLineData can do that via the
123 $data['attribs'] subarray.
124 * (T130632) The OutputPage::enableTOC() method was removed.
125 * WikiPage::getParserOutput() will now throw an exception if passed
126 ParserOptions that would pollute the parser cache. Callers should use
127 WikiPage::makeParserOptions() to create the ParserOptions object and only
128 change options that affect the parser cache key.
129 * Article::viewRedirect() is deprecated.
130 * DeprecatedGlobal no longer supports passing in a direct value, it requires a
131 callable factory function or a class name.
132 * The $parserMemc global, wfGetParserCacheStorage(), and ParserCache::singleton()
133 are all deprecated. The main ParserCache instance should be obtained from
134 MediaWikiServices instead. Access to the underlying BagOStuff is possible
135 through the new ParserCache::getCacheStorage() method.
136 * .mw-ui-constructive CSS class (deprecated in 1.27) was removed.
137
138 == Compatibility ==
139 MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for
140 HHVM 3.6.5 or later.
141
142 MySQL/MariaDB is the recommended DBMS. PostgreSQL or SQLite can also be used,
143 but support for them is somewhat less mature. There is experimental support for
144 Oracle and Microsoft SQL Server.
145
146 The supported versions are:
147
148 * MySQL 5.0.3 or later
149 * PostgreSQL 8.3 or later
150 * SQLite 3.3.7 or later
151 * Oracle 9.0.1 or later
152 * Microsoft SQL Server 2005 (9.00.1399)
153
154 == Upgrading ==
155 1.30 has several database changes since 1.29, and will not work without schema
156 updates. Note that due to changes to some very large tables like the revision
157 table, the schema update may take a long time (minutes on a medium sized site,
158 many hours on a large site).
159
160 Don't forget to always back up your database before upgrading!
161
162 See the file UPGRADE for more detailed upgrade instructions, including
163 important information when upgrading from versions prior to 1.11.
164
165 For notes on 1.29.x and older releases, see HISTORY.
166
167 == Online documentation ==
168 Documentation for both end-users and site administrators is available on
169 MediaWiki.org, and is covered under the GNU Free Documentation License (except
170 for pages that explicitly state that their contents are in the public domain):
171
172 https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation
173
174 == Mailing list ==
175 A mailing list is available for MediaWiki user support and discussion:
176
177 https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
178
179 A low-traffic announcements-only list is also available:
180
181 https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
182
183 It's highly recommended that you sign up for one of these lists if you're
184 going to run a public MediaWiki, so you can be notified of security fixes.
185
186 == IRC help ==
187 There's usually someone online in #mediawiki on irc.freenode.net.