X-Git-Url: https://git.cyclocoop.org/admin/?a=blobdiff_plain;f=RELEASE-NOTES-1.32;h=2cd1222f408949c2ba5c1ad9014f93d0a04b041a;hb=5dd3012d916b2465d8bc2566491f505f92dcfd7c;hp=6c200d900bf6ec9c27f1f0630286a0de2fa33c4e;hpb=99dcd46f00f5153ed74cebfbafc368e8f3b38f02;p=lhc%2Fweb%2Fwiklou.git diff --git a/RELEASE-NOTES-1.32 b/RELEASE-NOTES-1.32 index 6c200d900b..2cd1222f40 100644 --- a/RELEASE-NOTES-1.32 +++ b/RELEASE-NOTES-1.32 @@ -27,6 +27,15 @@ production. by default. * $wgGrantPermissions – A new grant group, 'editsiteconfig', is added for granting the above rights. +* $wgDBDefaultGroup – A default database group for use by maintenance scripts. +* $wgResourceLoaderEnableJSProfiler – This new configuration setting lets you + enable client-side profiling of JavaScript modules; it is off by default. +* (T193868) $wgChangeTagsSchemaMigrationStage — This temporary configuration + setting allows sysadmins to gradually migrate the database table schema for + how change tags are stored. +* (T199334) $wgTagStatisticsNewTable — This temporary configuration setting + allows sysadmins to enable the caching of Special:Tags via the new + change_tag_def table. ==== Changed configuration ==== * $wgUseAjax – This setting, deprecated in 1.31, is now ignored. @@ -40,6 +49,21 @@ production. old and the new schema, but reading the new schema, so Multi-Content Revisions (MCR) are now functional per default. The new default value of the setting is SCHEMA_COMPAT_WRITE_BOTH | SCHEMA_COMPAT_READ_NEW. +* $wgActorTableSchemaMigrationStage no longer accepts MIGRATION_WRITE_BOTH or + MIGRATION_WRITE_NEW. It instead uses SCHEMA_COMPAT_WRITE_BOTH | + SCHEMA_COMPAT_READ_OLD and SCHEMA_COMPAT_WRITE_BOTH | SCHEMA_COMPAT_READ_NEW + for intermediate stages of migration. +* $wgDBTableOptions – The default table options now use the binary charset. The + default was already overridden in the installer-generated LocalSettings.php, + and so is always set to binary after the installer UI option was removed. The + default value is only used when the installer installs an extension. +* $wgPopularPasswordFile — The location of the default popular passwords file + has been moved to be in line with other non-PHP files used by libraries and + classes. +* $wgEnableImageWhitelist is now disabled by default, as it opens up a hole for + potential privacy leaks by administrators. You can check + "MediaWiki:External image whitelist" on your wiki to see whether the feature + was ever used, and whether it needs to be re-enabled. ==== Removed configuration ==== * $wgEnableAPI and $wgEnableWriteAPI – These settings, deprecated in 1.31, @@ -53,6 +77,19 @@ production. message `emailsender`. * $wgTidyConfig – The experimental Html5Internal and Html5Depurate tidy drivers were removed. RemexHtml, which is the default, should be used instead. +* (T181318) The $wgStyleVersion setting and its appendage to various script and + style URLs in OutputPage, deprecated in 1.31, was removed. +* (T140807) The wgResourceLoaderLESSImportPaths configuration option was removed + from ResourceLoader. Instead, use `@import` statements in LESS to import + files directly from nearby directories within the same project. +* (T140804) The wgResourceLoaderLESSVars configuration option, deprecated + since 1.30, was removed. Instead, to expose variables from PHP to LESS, use + the ResourceLoaderModule::getLessVars() method. +* $wgResourceLoaderValidateStaticJS – This setting, unused since MediaWiki 1.18, + was removed. +* Two temporary variables for deploying the feature of filters on change lists, + $wgStructuredChangeFiltersShowPreference introduced in MediaWiki 1.30 and + $wgStructuredChangeFiltersOnWatchlist in 1.31, were removed. === New features in 1.32 === * (T112474) Generalized the ResourceLoader mechanism for overriding modules @@ -100,23 +137,39 @@ production. === External library changes in 1.32 === ==== New external libraries ==== -* Added wikimedia/xmp-reader 0.6.0 -* … +* Added pear/Net_SMTP v1.8.0. +* Added wikimedia/xmp-reader v0.6.0. + +* Added cache/integration-tests v0.16.0 (dev-only). +* Added giorgiosironi/eris v0.10.0 (dev-only). +* Added seld/jsonlint v1.7.1 (dev-only). + +* Added EasyDeflate (unversioned). ==== Changed external libraries ==== -* Updated qunitjs from 2.4.0 to 2.6.2. -* Updated wikimedia/scoped-callback from 1.0.0 to 2.0.0. +* Updated OOUI from v0.26.3 to v0.29.2. +* Updated wikimedia/base-convert from v1.0.1 to v2.0.0. +* Updated wikimedia/remex-html from v1.0.3 to v2.0.1. +* Updated wikimedia/scoped-callback from v1.0.0 to v2.0.0. ** ScopedCallback objects can no longer be serialized. -* Updated wikimedia/wrappedstring from 2.3.0 to 3.0.1. -* Updated mediawiki/mediawiki-codesniffer from v20.0.0 to v21.0.0. -* Updated composer/spdx-licenses from 1.3.0 to 1.4.0. -* Updated jquery.i18n from 1.0.4 to 1.0.5. -* Updated wikimedia/timestamp from 1.0.0 to 2.2.0. -* Updated wikimedia/remex-html from 1.0.3 to 2.0.0. +* Updated wikimedia/timestamp from v1.0.0 to v2.2.0. +* Updated wikimedia/wrappedstring from v2.3.0 to v3.0.1. + +* Updated composer/spdx-licenses from v1.3.0 to v1.4.0 (dev-only). +* Updated mediawiki/mediawiki-codesniffer from v18.0.0 to v22.0.0 (dev-only). +* Updated psy/psysh from v0.8.11 to v0.9.6 (dev-only). + +* Updated CLDRPluralRuleParser from v0.1.0 to v1.3.2-pre. * Updated jquery from v3.2.1 to v3.3.1. +* Updated jquery.client from v2.0.0 to v2.0.1. +* Updated jquery.i18n from v1.0.4 to v1.0.5. +* Updated mustache.js from v0.8.2-d9aa703 to v1.0.0. +* Updated OOjs from v2.2.0 to v2.2.2. +* Updated qunitjs from v2.4.0 to v2.6.2. +* Updated sinonjs from v1.17.3 to v1.17.7. ==== Removed external libraries ==== -* … +* pear/mail_mime-decode was removed. === Bug fixes in 1.32 === * SpecialPage::execute() will now only call checkLoginSecurityLevel() if @@ -174,6 +227,10 @@ production. * (T198214) The 'disabletidy' parameter to action=parse has been deprecated; untidy output will not be supported by future wikitext parsers. +* Added intestactionsdetail to action=query&prop=info to allow retrieving the + reasons an action is not allowed. +* Deprecated action=query&prop=info inprop=readable in favor of + intestactions=read. === Action API internal changes in 1.32 === * Added 'ApiParseMakeOutputPage' hook. @@ -185,6 +242,26 @@ production. * ApiFeedContributions::feedItemAuthor() * ApiFeedContributions::feedItemDesc() * ApiQueryRevisionsBase::extractRevisionInfo() +* The following deprecated methods have been removed: + * ApiBase::profileIn() (deprecated in 1.25) + * ApiBase::profileOut() (deprecated in 1.25) + * ApiBase::safeProfileOut() (deprecated in 1.25) + * ApiBase::profileDBIn() (deprecated in 1.25) + * ApiBase::profileDBOut() (deprecated in 1.25) + * ApiBase::dieUsage() (deprecated in 1.29) + * ApiBase::dieUsageMsg() (deprecated in 1.29) + * ApiBase::dieUsageMsgOrDebug() (deprecated in 1.29) + * ApiBase::getErrorFromStatus() (deprecated in 1.29) + * ApiBase::parseMsg() (deprecated in 1.29) + * ApiBase::setWarning() (deprecated in 1.29) + * ApiPageSet::getInvalidTitles() (deprecated in 1.26) + * ApiQueryLogEvents::addLogParams() (deprecated in 1.25) + * ApiUsageException::getCodeString() (deprecated in 1.29) + * ApiUsageException::getMessageArray() (deprecated in 1.29) +* Class UsageException, deprecated in 1.29, has been removed. +* ApiErrorFormatter: Added getFormat() and newWithFormat(). In particular, you + can now easily test $formatter->getFormat() === 'bc', and then call + $formatter->newWithFormat( 'plaintext' ) to get a non-BC formatter. === Languages updated in 1.32 === MediaWiki supports over 350 languages. Many localisations are updated regularly. @@ -239,8 +316,6 @@ because of Phabricator reports. removed. Use mediawiki.widgets.visibleLengthLimit instead. * The jquery.farbtastic module, unused since 1.18, was removed. * The 'jquery.expandableField' module, unused since 1.22, was removed. -* (T181318) The $wgStyleVersion setting and its appendage to various script and - style URLs in OutputPage, deprecated in 1.31, was removed. * The hooks 'PreferencesFormPreSave' and 'PreferencesGetLegend' may provide any HTMLForm object rather than PreferencesForm. * The non namespaced TimestampException class, deprecated in 1.29, was removed. @@ -250,12 +325,6 @@ because of Phabricator reports. The UtfNormal\Utils class from the utfnormal library should be used instead. * The deprecated UTF8_ and UNICODE_ constants were removed. The class constants from the UtfNormal\Constants class from the utfnormal library should be used -* (T140807) The wgResourceLoaderLESSImportPaths configuration option was removed - from ResourceLoader. Instead, use `@import` statements in LESS to import - files directly from nearby directories within the same project. -* (T140804) The wgResourceLoaderLESSVars configuration option, deprecated - since 1.30, was removed. Instead, to expose variables from PHP to LESS, use - the ResourceLoaderModule::getLessVars() method. * The protected methods PHPSessionHandler::returnSuccess() and returnFailure(), only needed for PHP5 compatibility, have been removed. It now uses the boolean values `true` and `false` respectively. @@ -287,6 +356,9 @@ because of Phabricator reports. * Another two OutputPage methods, setPageTitleActionText() and getPageTitleActionText(), were removed. They did nothing since 1.15 (almost ten years). Use setHTMLTitle() directly. +* The return value of OutputPage::adaptCdnTTL() has been removed. The + value returned was misleading and probably not what any caller would + have wanted. * All MagicWord static member variables have been removed. Use appropriate hooks or MagicWordFactory methods instead. * MagicWord::clearCache() has been removed. Instead, create a new @@ -296,8 +368,8 @@ because of Phabricator reports. a no-op function since 1.30. * SpecialPageFactory::resetList() is a no-op. Call overrideMwServices() instead. -* MediaWiki no longer supports a StartProfiler.php file. - Define $wgProfiler via LocalSettings.php instead. +* MediaWiki no longer supports a StartProfiler.php file. Instead, you can set + $wgProfiler and $wgEnableProfileInfo. * The mw.loader.addSource() is now considered a private method, and no longer supports the `id, url` signature. Use the `Object` parameter instead. * The backwards-compatibility code in HTMLForm to add a drop-down control to an @@ -308,6 +380,9 @@ because of Phabricator reports. * 'uppercase-se' (NorthernSamiUppercaseCollation) - use 'uca-se' instead * 'xx-uca-et' (CollationEt) - use 'uca-et' instead * 'xx-uca-fa' (CollationFa) - use 'uca-fa' instead +* LanguageCode::bcp47() now always returns a valid BCP 47 code. This means + that some MediaWiki-specific language codes, such as `simple`, are mapped + into valid BCP 47 codes (eg `en-simple`). * The hooks 'SpecialRecentChangesFilters' & 'SpecialWatchlistFilters' deprecated in 1.23 were removed. Instead, use 'ChangesListSpecialPageStructuredFilters'. The ChangesListSpecialPage code for these legacy hooks, and their use in @@ -329,6 +404,60 @@ because of Phabricator reports. phase. * The global function wfErrorLog, deprecated since 1.25, has now been removed. Use MWLoggerLegacyLogger::emit or UDPTransport. +* The hooks 'SpecialRecentChangesQuery' & 'SpecialWatchlistQuery', deprecated in + 1.23, were removed. Instead, use ChangesListSpecialPageStructuredFilters or + ChangesListSpecialPageQuery. +* The global function wfUsePHP, deprecated since 1.30, has now been removed. To + assert a newer version of PHP than MediaWiki does, use extension registration. +* The hook 'ChangesListSpecialPageFilters', deprecated in 1.29, has now been + removed. Use the 'ChangesListSpecialPageStructuredFilters' hook instead. +* DeferredUpdates::setImmediateMode(), deprecated since 1.29, has been removed. +* File / MediaHandler::getStreamHeaders(), deprecated since 1.30, was removed. +* The hook 'DoEditSectionLink', deprecated since 1.25, has been removed. Use + the hook 'SkinEditSectionLinks' instead. +* The hook 'UserGetImplicitGroups', deprecated since 1.25, has been removed. +* The global function wfRunHooks, deprecated since 1.25, has now been removed. + Use Hooks::run(). +* The hook 'UnknownAction', deprecated since 1.19, has now been removed. +* The hook 'ParserLimitReport', deprecated since 1.22, has been removed. Use + the hooks 'ParserLimitReportPrepare' and 'ParserLimitReportFormat' instead. +* The following deprecated API methods have been removed: + * ApiBase::profileIn() (deprecated in 1.25) + * ApiBase::profileOut() (deprecated in 1.25) + * ApiBase::safeProfileOut() (deprecated in 1.25) + * ApiBase::profileDBIn() (deprecated in 1.25) + * ApiBase::profileDBOut() (deprecated in 1.25) + * ApiBase::dieUsage() (deprecated in 1.29) + * ApiBase::dieUsageMsg() (deprecated in 1.29) + * ApiBase::dieUsageMsgOrDebug() (deprecated in 1.29) + * ApiBase::getErrorFromStatus() (deprecated in 1.29) + * ApiBase::parseMsg() (deprecated in 1.29) + * ApiBase::setWarning() (deprecated in 1.29) + * ApiPageSet::getInvalidTitles() (deprecated in 1.26) + * ApiQueryLogEvents::addLogParams() (deprecated in 1.25) + * ApiUsageException::getCodeString() (deprecated in 1.29) + * ApiUsageException::getMessageArray() (deprecated in 1.29) +* Class UsageException, deprecated in 1.29, has been removed. +* MediaWiki no longer has a 'JavaScript-powered' wikitext toolbar built in. The + old "bulletin board style toolbar", known as "the 2006 wikitext editor", has + been removed, and instead sysadmins will be required to choose one (or more) + of the several extensions available for this purpose if they need the + functionality. The MediaWiki "tarball" releases have included the replacement + extension for this, the WikiEditor extension aka "the 2010 wikitext editor", + for many years now. As part of this, several parts of MediaWiki have been + removed or simplified: + * The user option 'showtoolbar' (shown as "Show edit toolbar") is no longer + available; if an extension adds a toolbar via the EditPageBeforeEditToolbar + hook, it will be shown; extensions should provide a specific user preference + to disable themselves as needed. + * The public methods Language::getImageFile() and ::getImageFiles(), and the + related specification of $imageFiles within individual languages' code file, + as well as the referenced static media assets, all of which were only used + inside MediaWiki itself for providing the icons for the old toolbar, have + been removed without explicit deprecation. + * The internal ResourceLoader module "mediawiki.toolbar", which is unused + except by MediaWiki itself and back-compatibility code, has been removed. + * The internal ResourceLoaderEditToolbarModule class has been removed. === Deprecations in 1.32 === * HTMLForm::setSubmitProgressive() is deprecated. No need to call it. Submit @@ -469,12 +598,45 @@ because of Phabricator reports. $wgTidyConfig instead. * All Tidy configurations other than Remex have been hard deprecated; future parsers will not emit compatible output for these configurations. + In particular, running MediaWiki with tidy disabled has been deprecated. +* (T198214) OutputPage::addWikiText(), OutputPage::addWikiTextWithTitle(), + and OutputPage::addWikiTextTitle() have been deprecated, since they + can result in untidy output. In addition OutputPage::addWikiTextTidy() + and OutputPage::addWikiTextTitleTidy() was deprecated to make naming new + methods consistent. Use OutputPage::addWikiTextAsInterface() or + OutputPage::addWikiTextAsContent() instead, which ensures the output is + tidy and clarifies whether content-language specific postprocessing should + be done on the text. * QuickTemplate::msgHtml() and BaseTemplate::msgHtml() have been deprecated as they promote bad practises. I18n messages should always be properly escaped. * Skin::getDynamicStylesheetQuery() has been deprecated. It always returns action=raw&ctype=text/css which callers should use directly. * Class LegacyFormatter is deprecated. +* Use of CommentStore::insertWithTempTable() with 'img_description' is + deprecated. Use CommentStore::insert() instead. +* Language::setCode is deprecated as public function. Use Language::factory + to create a new Language object with a different language code. +* Several classes have been moved from the MediaWiki\Storage\ namespace to the + MediaWiki\Revision\ namespace. The old class names are aliased for + compatibility, but are deprecated. Classes are IncompleteRevisionException, + MutableRevisionRecord, MutableRevisionSlots, RevisionAccessException, + RevisionArchiveRecord, RevisionFactory, RevisionLookup, RevisionRecord, + RevisionSlots, RevisionStore, RevisionStoreRecord, SlotRecord, and + SuppressedDataException. +* When using OOUI HTMLForm containing an 'info' field which uses the 'rawrow' + option, it is now deprecated to give its contents (the 'default' option) + as a string. They should be given as a OOUI\FieldLayout object instead. + Notably, this affects fields defined in the 'GetPreferences' hook, because + Special:Preferences uses an OOUI form now. (If possible, don't use 'rawrow'.) +* In Skin::doEditSectionLink omitting the parameters $tooltip and $lang is + deprecated. For the $lang parameter, types other than Language are + deprecated. +* The $wgUseKeyHeader configuration option and the + OutputPage::getKeyHeader() method have been deprecated; the relevant + draft IETF spec expired without becoming a standard. +* Deprecated API action=query&prop=info inprop=readable in favor of + intestactions=read. === Other changes in 1.32 === * (T198811) The following tables have had their UNIQUE indexes turned into @@ -490,12 +652,16 @@ because of Phabricator reports. yet for creating or managing content in slots beides the main slot. See for more information. -* … +* The image_comment_temp database table is merged into the image table and + deprecated. Since access should be mediated by the CommentStore class, this + change shouldn't affect external code. +* (T206147) Database::close() will no longer commit any open transactions. == Compatibility == MediaWiki 1.32 requires PHP 7.0.0 or later. Although HHVM 3.18.5 or later is supported, it is generally advised to use PHP 7.0.0 or later for long term -support. +support. MediaWiki requires that the mbstring, xml, ctype, json, iconv and +fileinfo PHP extensions are loaded to work. 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