Release notes/1.30

MediaWiki 1.30
THIS IS NOT A RELEASE YET

MediaWiki 1.30 is an alpha-quality branch and is not recommended for use in production.

MySQL version requirement in 1.30
As of 1.30, MediaWiki now requires MySQL 5.5.8 or higher (see Compatibility section).

Configuration changes in 1.30
unexpected behavior when code uses locale-sensitive string comparisons. For example, the Scribunto extension considers "bar" < "Foo" in most locales since it ignores case. documentation of $wgShellLocale for details. deprecated and a no-op, as it is no longer needed. class names. This is intended for extensions that want control over the instantiation of their jobs, to allow for proper dependency injection. to plain class names, using the 'factory' key in the module description array. This allows dependency injection to be used for ResourceLoader modules.
 * The "C.UTF-8" locale should be used for $wgShellLocale, if available, to avoid
 * $wgShellLocale now affects LC_ALL rather than only LC_CTYPE. See
 * $wgShellLocale is now applied for all requests. wfInitShellLocale is
 * $wgJobClasses may now specify callback functions as an alternative to plain
 * $wgResourceModules may now specify callback functions as an alternative
 * $wgExceptionHooks has been removed.
 * (T45547) $wgUsePigLatinVariant added (off by default).

New features in 1.30
class="mw-parser-output" by default. This may be changed or disabled using ParserOptions::setWrapOutputClass. specific tags to be added by users. additional parser options. LanguageConverter variant. This allows English-speaking developers to develop and test LanguageConverter more easily. Pig Latin can be enabled by setting $wgUsePigLatinVariant to true. depends on the recentchanges table.
 * (T37247) Output from Parser::parse will now be wrapped in a div with
 * Added 'ChangeTagsAllowedAdd' hook, enabling extensions to allow software-
 * Added a 'ParserOptionsRegister' hook to allow extensions to register
 * (T45547) Included Pig Latin, a language game in English, as a
 * Added RecentChangesPurgeRows hook to allow extensions to purge data that
 * Added JS config values wgDiffOldId/wgDiffNewId to the output of diff pages.

Languages updated in 1.30

 * Support for kbp (Kabɩyɛ / Kabiyè) was added.

Upgraded external libraries

 * mediawiki/mediawiki-codesniffer updated to 0.8.1.
 * wikimedia/composer-merge-plugin updated to 1.4.1.

New external libraries
wikimedia/testing-access-wrapper and renamed \Wikimedia\TestingAccessWrapper.
 * The class \TestingAccessWrapper has been moved to the external library

Bug fixes in 1.30
(thanks to Sfic)
 * (T151633) Ordered list items use now Devanagari digits in Nepalese

Action API changes in 1.30
class="mw-parser-output" by default. This may be changed or disabled using the new 'wrapoutputclass' parameter. formatted as specified by the error formatter parameters. returning users and edit comments. 'rvexpandtemplates', 'rvgeneratexml', 'rvparse', and 'rvprop=parsetree' parameters to prop=revisions are deprecated, as are the similarly named parameters to prop=deletedrevisions, list=allrevisions, and list=alldeletedrevisions. Use action=compare, action=parse, or action=expandtemplates instead.
 * (T37247) action=parse output will be wrapped in a div with
 * When errorformat is not 'bc', abort reasons from action=login will be
 * action=compare can now handle arbitrary text, deleted revisions, and
 * (T164106) The 'rvdifftotext', 'rvdifftotextpst', 'rvdiffto',

Action API internal changes in 1.30
deprecated. The existing message should be split between "apihelp-*-summary" and "apihelp-*-extended-description". deprecated.
 * ApiBase::getDescriptionMessage and the "apihelp-*-description" messages are
 * (T123931) Individual values of multi-valued parameters can now be marked as

Languages updated in 1.30
MediaWiki supports over 350 languages. Many localisations are updated regularly. Below only new and removed languages are listed, as well as changes to languages because of Phabricator reports.



Pig Latin added
for easier variant development and testing. Disabled by default. It can be enabled by setting $wgUsePigLatinVariant to true.
 * (T45547) Added Pig Latin, a made-up English variant (en-x-piglatin),

Other changes in 1.30
the key instead of the value, is deprecated (e.g. [ '127.0.0.1' => 'value' ]). Please convert these arrays to indexed/sequential ones (e.g. [ '127.0.0.1' ]). deprecated. There are no known callers. used instead. should be used instead. deprecated in 1.24) were removed. BagOStuff::makeGlobalKey should be used instead.  As a result of the new uniform handling, '-{' may need to be escaped  (for example, as '- {') where it occurs inside template arguments  or wikilinks.  autopromotion, i.e., they increment the user_editcount field in the database.  manipulating Special:Log and Special:NewPages lines.  PageHistoryLineEnding, ContributionsLineEnding and DeletedContributionsLineEnding  hooks have an additional parameter, for manipulating HTML data attributes of  RC/history lines. EnhancedChangesListModifyBlockLineData can do that via the  $data['attribs'] subarray.  ParserOptions that would pollute the parser cache. Callers should use  WikiPage::makeParserOptions to create the ParserOptions object and only  change options that affect the parser cache key.  callable factory function or a class name.  are all deprecated. The main ParserCache instance should be obtained from MediaWikiServices instead. Access to the underlying BagOStuff is possible through the new ParserCache::getCacheStorage method.
 * The use of an associative array for $wgProxyList, where the IP address is in
 * mw.user.bucket (deprecated in 1.23) was removed.
 * LoadBalancer::getServerInfo and LoadBalancer::setServerInfo are
 * File::getStreamHeaders was deprecated.
 * MediaHandler::getStreamHeaders was deprecated.
 * Title::canTalk was deprecated. The new Title::canHaveTalkPage should be
 * MWNamespace::canTalk was deprecated. The new MWNamespace::hasTalkNamespace
 * The ExtractThumbParameters hook (deprecated in 1.21) was removed.
 * The OutputPage::addParserOutputNoText and ::getHeadLinks methods (both
 * wfMemcKey and wfGlobalCacheKey were deprecated. BagOStuff::makeKey and
 * (T146304) Preprocessor handling of LanguageConverter markup has been improved.
 * (T163966) Page moves are now counted as edits for the purposes of
 * Two new hooks, LogEventsListLineEnding and NewPagesLineEnding, were added for
 * The OldChangesListRecentChangesLine, EnhancedChangesListModifyLineData,
 * (T130632) The OutputPage::enableTOC method was removed.
 * WikiPage::getParserOutput will now throw an exception if passed
 * Article::viewRedirect is deprecated.
 * DeprecatedGlobal no longer supports passing in a direct value, it requires a
 * The $parserMemc global, wfGetParserCacheStorage, and ParserCache::singleton
 * .mw-ui-constructive CSS class (deprecated in 1.27) was removed.

Compatibility
MediaWiki 1.30 requires PHP 5.5.9 or later. There is experimental support for HHVM 3.6.5 or later.

MySQL/MariaDB is the recommended DBMS. PostgreSQL or SQLite can also be used, but support for them is somewhat less mature. There is experimental support for Oracle and Microsoft SQL Server.

The supported versions are:


 * MySQL 5.5.8 or later
 * PostgreSQL 8.3 or later
 * SQLite 3.3.7 or later
 * Oracle 9.0.1 or later
 * Microsoft SQL Server 2005 (9.00.1399)

Upgrading
1.30 has several database changes since 1.29, and will not work without schema updates. Note that due to changes to some very large tables like the revision table, the schema update may take a long time (minutes on a medium sized site, many hours on a large site).

Don't forget to always back up your database before upgrading!

See the file UPGRADE for more detailed upgrade instructions, including important information when upgrading from versions prior to 1.11.

For notes on 1.29.x and older releases, see HISTORY.

Online documentation
Documentation for both end-users and site administrators is available on MediaWiki.org, and is covered under the GNU Free Documentation License (except for pages that explicitly state that their contents are in the public domain):

https://www.mediawiki.org/wiki/Special:MyLanguage/Documentation

Mailing list
A mailing list is available for MediaWiki user support and discussion:

https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

A low-traffic announcements-only list is also available:

https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce

It's highly recommended that you sign up for one of these lists if you're going to run a public MediaWiki, so you can be notified of security fixes.

IRC help
There's usually someone online in #mediawiki on irc.freenode.net.