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