Make PPFrame::RECOVER_COMMENTS actually work
[lhc/web/wiklou.git] / RELEASE-NOTES-1.26
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.26 ==
5
6 THIS IS NOT A RELEASE YET
7
8 MediaWiki 1.26 is an alpha-quality branch and is not recommended for use in
9 production.
10
11 === Configuration changes in 1.26 ===
12 * $wgPasswordResetRoutes['email'] = true by default.
13 * $wgEnableParserCache was deprecated, set $wgParserCacheType to CACHE_NONE
14 instead if you want to disable the parser cache.
15 * New-style continuation is now the default for API action=continue. Clients may
16 use the 'rawcontinue' parameter to receive raw query-continue data, but the
17 new style is encouraged as it's harder to implement incorrectly.
18 * Deprecated API formats dump and wddx have been completely removed.
19 * (T7645) The "Signature" button on the edit toolbar is now hidden by default
20 in non-talk namespaces. A new configuration variable,
21 $wgExtraSignatureNamespaces, controls in which subject (non-talk) namespaces
22 the "Signature" button on the edit toolbar will be displayed.
23 * $wgResourceLoaderUseESI was deprecated and removed. This was an experimental
24 feature that was never enabled by default.
25
26 === New features in 1.26 ===
27 * (T9148) Changes to category membership are now shown in watchlists and recent
28 changes. This can be configured in user preferences.
29 * (T51506) Now action=info gives estimates of actual watchers for a page.
30 See $wgRCMaxAge, $wgWatchersMaxAge and $wgUnwatchedPageSecret
31 to learn how to configure if needed.
32 * Change tags can now be hidden in the interface by disabling the associated
33 "tag-<id>" interface message.
34 * ':' (colon) is now invalid in usernames for new accounts. Existing accounts
35 are not affected.
36 * Added a new hook, 'LogException', to log exceptions in nonstandard ways.
37 * Revive the 'SpecialSearchResultsAppend' hook which occurs after the list of
38 search results are rendered. The initial use case is to append a "give us
39 feedback" link beneath the search results.
40 * Added a new hook, 'RejectParserCacheValue', which allows extensions to
41 reject an otherwise-successful parser cache lookup. The intent is to allow
42 extensions to manage the eviction of archaic HTML output from the cache.
43 * (T68699) The expiration of the UserID and Token login cookies
44 ($wgExtendedLoginCookieExpiration) can be configured independently of the
45 expiration of all other cookies ($wgCookieExpiration).
46 * (T50519) Support for generating JPEG/PNG thumbnails from WebP images added
47 if ImageMagick is used as image scaler ($wgUseImageMagick = true). Uploading
48 of WebP images still disabled by default. Add $wgFileExtensions[] =
49 'webp'; to LocalSettings.php to enable uploading of WebP images.
50 * Added new hooks 'EnhancedChangesListModifyLineData' &
51 'EnhancedChangesListModifyBlockLineData', to modify the data used to build
52 lines in enhanced recentchanges and watchlist.
53 * Caches that need purging ability now use the WANObjectCache interface.
54 This corresponds to a new $wgMainWANCache setting, which defaults to using
55 the $wgMainCacheType settings.
56 * Callers needing fast light-weight data stores use $wgMainStash to select
57 the store type from $wgObjectCaches. The default is the local database.
58 * Interface message overrides in the MediaWiki namespace will now be cached in
59 memcached and APC (if available), rather than memcached and local files.
60 * Added a new hook, 'RandomPageQuery', to allow modification of the query used
61 by Special:Random to select random pages.
62 * $wgTransactionalTimeLimit was added, which controls the request time limit
63 for potentially slow POST requests that need to be as atomic as possible.
64
65 ==== External libraries ====
66 * Update es5-shim from v4.0.0 to v4.1.5.
67 * Update json2 from revision 2014-02-04 to 2015-05-03.
68 * Update Sinon.JS from 1.10.3 to 1.15.4.
69 * Upgrade jQuery Client from v1.0.0 to v2.0.0.
70 * Added mediawiki/at-ease 1.0.0.
71 * Update QUnit from v1.17.1 to v1.18.0.
72
73 === Bug fixes in 1.26 ===
74 * (T53283) load.php sometimes sends 304 response without full headers
75 * (T65198) Talk page tabs now have a "rel=discussion" attribute
76 * (T98841) {{msgnw:}} now preserves comments even when subst: is not used.
77
78 === Action API changes in 1.26 ===
79 * New-style continuation is now the default for action=continue. Clients may
80 use the 'rawcontinue' parameter to receive raw query-continue data, but the
81 new style is encouraged as it's harder to implement incorrectly.
82 * Deprecated API formats dump and wddx have been completely removed.
83 * API action=query&list=tags: The displayname can now be boolean false if the
84 tag is meant to be hidden from user interfaces.
85 * action=import no longer allows both the namespace= and rootpage= parameters
86 to be set. If they are both set, the value of rootpage= will be ignored.
87 * prop=revision output in enum mode is now sorted by timestamp rather than
88 revision ID. This usually won't make any difference.
89 * (T102645) Namespace list from meta=siteinfo&siprop=namespaces is now an array
90 with formatversion=2.
91 * Various other output from meta=siteinfo will now always be arrays instead of
92 sometimes being numerically-indexed objects with formatversion=2.
93 * When errors about users being blocked are returned, they now include
94 information about the relevant block.
95
96 === Action API internal changes in 1.26 ===
97
98 === Languages updated in 1.26 ===
99
100 MediaWiki supports over 350 languages. Many localisations are updated
101 regularly. Below only new and removed languages are listed, as well as
102 changes to languages because of Phabricator reports.
103
104 * Languages added:
105 ** dty (डोटेली/Doteli), thanks to translators जनक राज भट्ट, बिप्लब आनन्द,
106 मेश सिंह बोहरा, and राम प्रसाद जोशी
107 ** luz (لئری دوٙمینی / Southern Luri)
108
109 === Other changes in 1.26 ===
110 * ChangeTags::tagDescription() will return false if the interface message
111 for the tag is disabled.
112 * Added PageHistoryPager::doBatchLookups hook.
113 * Added ParserCacheSaveComplete to ParserCache
114 * supportsDirectEditing and supportsDirectApiEditing methods added to
115 ContentHandler, to provide a way for ApiEditPage and EditPage to check
116 if direct editing of content is allowed. These methods return false,
117 by default for the ContentHandler base class and true for TextContentHandler
118 and it's derivative classes (everything in core). For Content types that
119 do not support direct editing, an alternative mechanism should be provided
120 for editing, such as action overrides or specific api modules.
121 * mediaWiki.confirmCloseWindow now returns an object of functions, instead of
122 one function. The callback can't be called directly any more. The callback
123 function is replaced with confirmCloseWindow.release().
124 * BREAKING CHANGE: Added an optional ResouceLoaderContext parameter to
125 ResourceLoaderModule::getDependencies(). Extension classes that override that
126 method should be updated. If they aren't updated, PHP Strict standards
127 warnings will appear when E_STRICT error reporting is enabled. Note: in the
128 near future, this parameter will probably become non-optional.
129 * Removed maintenance script deleteImageMemcached.php.
130 * MWFunction::newObj() was removed (deprecated in 1.25).
131 ObjectFactory::getObjectFromSpec() should be used instead.
132 * The parser will no longer randomize the string it uses to mark the place of
133 items that were stripped during parsing. It will use a fixed string instead.
134 This causes the parser to re-use the regular expressions it uses to search
135 and replace markers rather than generate novel expressions on each parse.
136 Re-using regular expressions will improve performance on HHVM and the
137 forthcoming PHP 7. The interfaces changes accompanying this change are:
138 - Parser::getRandomString() and Parser::uniqPrefix() have been deprecated.
139 - The $uniq_prefix argument for Parser::extractTagsAndParams() and the
140 $prefix argument for StripState::_construct() are deprecated and their
141 value is ignored.
142 * wfSuppressWarnings() and wfRestoreWarnings() were split into a separate library,
143 mediawiki/at-ease, and are now deprecated. Callers should use
144 MediaWiki\suppressWarnings() and MediaWiki\restoreWarnings() directly.
145 * The Block class constructor now takes an associative array of parameters
146 instead of many optional positional arguments. Calling the constructor the old
147 way will issue a deprecation warning.
148 * The jquery.mwExtension module was deprecated.
149 * $wgSpecialPageGroups was removed (deprecated in 1.21).
150 * SpecialPageFactory::setGroup was removed (deprecated in 1.21).
151 * SpecialPageFactory::getGroup was removed (deprecated in 1.21).
152 * DatabaseBase::ignoreErrors() is now protected.
153 * BREAKING CHANGE: mediawiki.legacy.ajax has been removed, following
154 a lengthy deprecation period.
155 * The ScopedPHPTimeout class was removed.
156
157 == Compatibility ==
158
159 MediaWiki 1.26 requires PHP 5.3.3 or later. There is experimental support for
160 HHVM 3.3.0.
161
162 MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
163 support for them is somewhat less mature. There is experimental support for
164 Oracle and Microsoft SQL Server.
165
166 The supported versions are:
167
168 * MySQL 5.0.3 or later
169 * PostgreSQL 8.3 or later
170 * SQLite 3.3.7 or later
171 * Oracle 9.0.1 or later
172 * Microsoft SQL Server 2005 (9.00.1399)
173
174 == Upgrading ==
175
176 1.26 has several database changes since 1.25, and will not work without schema
177 updates. Note that due to changes to some very large tables like the revision
178 table, the schema update may take quite long (minutes on a medium sized site,
179 many hours on a large site).
180
181 If upgrading from before 1.11, and you are using a wiki as a commons
182 repository, make sure that it is updated as well. Otherwise, errors may arise
183 due to database schema changes.
184
185 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
186 new database fields are filled with data.
187
188 If you are upgrading from MediaWiki 1.4.x or earlier, you should upgrade to
189 1.5 first. The upgrade script maintenance/upgrade1_5.php has been removed
190 with MediaWiki 1.21.
191
192 Don't forget to always back up your database before upgrading!
193
194 See the file UPGRADE for more detailed upgrade instructions.
195
196 For notes on 1.25.x and older releases, see HISTORY.
197
198 == Online documentation ==
199
200 Documentation for both end-users and site administrators is available on
201 MediaWiki.org, and is covered under the GNU Free Documentation License (except
202 for pages that explicitly state that their contents are in the public domain):
203
204 https://www.mediawiki.org/wiki/Documentation
205
206 == Mailing list ==
207
208 A mailing list is available for MediaWiki user support and discussion:
209
210 https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
211
212 A low-traffic announcements-only list is also available:
213
214 https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
215
216 It's highly recommended that you sign up for one of these lists if you're
217 going to run a public MediaWiki, so you can be notified of security fixes.
218
219 == IRC help ==
220
221 There's usually someone online in #mediawiki on irc.freenode.net.