MediaWiki 1.30

MediaWiki 1.30 is an obsolete release of MediaWiki. Consult the RELEASE NOTES file for the full list of changes. It was deployed on Wikimedia Foundation wikis through incremental "wmf"-branches starting on 9 May 2017. The 1.30.0 stable release was released on 12 December 2017.

Download the latest releases or checkout the REL1_30 branch in Git to follow this release.

Configuration changes edit

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

New features edit

  • (T163562) Added the ability to search for contributions within an IP range at Special:Contributions. References to revisions made by IPs are stored in the ip_changes table to make querying for ranges more efficient.
  • (T37247) Output from Parser::parse() will now be wrapped in a ‎<div> with class="mw-parser-output" by default. This may be changed or disabled using ParserOptions::setWrapOutputClass().
  • Added the 'ChangeTagsAllowedAdd' hook, enabling extensions to allow software- specific tags to be added by users.
  • Added the 'ParserOptionsRegister' hook to allow extensions to register additional parser options.
  • (T45547) Included Pig Latin, a language game in English, as a LanguageConverter variant. This allows English-speaking developers to develop and test LanguageConverter more easily. Pig Latin can be enabled by setting $wgUsePigLatinVariant to true.
  • Added the 'RecentChangesPurgeRows' hook to allow extensions to purge data that depends on the recentchanges table.
  • Added JS config values wgDiffOldId/wgDiffNewId to the output of diff pages.

Action API changes edit

  • (T37247) action=parse output will be wrapped in a ‎<div> with class="mw-parser-output" by default. This may be changed or disabled using the new 'wrapoutputclass' parameter.
  • When errorformat is not 'bc', abort reasons from action=login will be formatted as specified by the error formatter parameters.
  • action=compare can now handle arbitrary text, deleted revisions, and returning users and edit comments.
  • (T164106) The 'rvdifftotext', 'rvdifftotextpst', 'rvdiffto', '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.

Action API internal changes edit

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

Languages updated edit

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

Other changes edit

  • The use of an associative array for $wgProxyList, where the IP address is in 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' ]).
  • mw.user.bucket (deprecated in 1.23) was removed.
  • LoadBalancer::getServerInfo() and LoadBalancer::setServerInfo() are deprecated. There are no known callers.
  • File::getStreamHeaders() was deprecated.
  • MediaHandler::getStreamHeaders() was deprecated.
  • Title::canTalk() was deprecated. The new Title::canHaveTalkPage() should be used instead.
  • MWNamespace::canTalk() was deprecated. The new MWNamespace::hasTalkNamespace() should be used instead.
  • The ExtractThumbParameters hook (deprecated in 1.21) was removed.
  • The OutputPage::addParserOutputNoText and ::getHeadLinks methods (both deprecated in 1.24) were removed.
  • wfMemcKey() and wfGlobalCacheKey() were deprecated. BagOStuff::makeKey() and BagOStuff::makeGlobalKey() should be used instead.
  • (T146304) Preprocessor handling of LanguageConverter markup has been improved. As a result of the new uniform handling, '-{' may need to be escaped (for example, as '-<nowiki/>{') where it occurs inside template arguments or wikilinks.
  • (T163966) Page moves are now counted as edits for the purposes of autopromotion, i.e., they increment the user_editcount field in the database.
  • Two new hooks, LogEventsListLineEnding and NewPagesLineEnding, were added for manipulating Special:Log and Special:NewPages lines.
  • The OldChangesListRecentChangesLine, EnhancedChangesListModifyLineData, 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.
  • (T130632) The OutputPage::enableTOC() method was removed.
  • WikiPage::getParserOutput() will now throw an exception if passed 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.
  • Article::viewRedirect() is deprecated.
  • DeprecatedGlobal no longer supports passing in a direct value, it requires a callable factory function or a class name.
  • The $parserMemc global, wfGetParserCacheStorage(), and ParserCache::singleton() 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.
  • .mw-ui-constructive CSS class (deprecated in 1.27) was removed.

Subpages edit