Merge "Soft deprecate Title::getUserCaseDBKey()"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 13 Dec 2018 21:22:07 +0000 (21:22 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 13 Dec 2018 21:22:07 +0000 (21:22 +0000)
1  2 
RELEASE-NOTES-1.33
includes/Title.php

diff --combined RELEASE-NOTES-1.33
@@@ -15,40 -15,19 +15,40 @@@ production
    the current parse language where available.
  
  ==== Changed configuration ====
 +* Some external link searches will not work correctly until update.php (or
 +  refreshExternallinksIndex.php) is run. These include searches for links using
 +  IP addresses, internationalized domain names, and possibly mailto links.
 +* (T193868) $wgChangeTagsSchemaMigrationStage — This temporary setting, added in
 +  MediaWiki 1.32, now defaults to MIGRATION_NEW instead of MIGRATION_WRITE_BOTH.
  * …
  
  ==== Removed configuration ====
 +* (T199334) $wgTagStatisticsNewTable — This temporary setting, added in
 +  MediaWiki 1.32, has now been removed. When loading Special:Tags, MediaWiki
 +  will now always use the `change_tag_def` instead of the `change_tag` table.
 +* MediaWiki now always tidies user output, and most related
 +  configuration has been removed. Thus $wgUseTidy, $wgTidyBin,
 +  $wgTidyConf, $wgTidyOpts, $wgTidyInternal, and $wgDebugTidy, all
 +  deprecated since 1.26, have now all been removed. The $wgTidyConfig
 +  setting remains only for Remex experimental features or debugging.
  * …
  
  === New features in 1.33 ===
 -* The 'GetPreferences' hook now receives an additional $context parameter.
 +* (T96041) __EXPECTUNUSEDCATEGORY__ on a category page causes the category
 +  to be hidden on Special:UnusedCategories.
 +* Add PasswordPolicy to check the password isn't in the large blacklist.
  * …
  
  === External library changes in 1.33 ===
  
  ==== New external libraries ====
 +* Added wikimedia/password-blacklist 0.1.4.
  * …
 +* Added guzzlehttp/guzzle 6.3.3 and dependents:
 +  * guzzlehttp/promises 1.3.1
 +  * guzzlehttp/psr7 1.5.0
 +  * psr/http-message 1.0.1
 +  * ralouphie/getallheaders 2.0.5
  
  ==== Changed external libraries ====
  * Updated wikimedia/xmp-reader from 0.6.0 to 0.6.1.
  
  === Action API changes in 1.33 ===
  * (T198913) Added 'ApiOptions' hook.
 +* The JSON formatversion=2 is no longer experimental.
 +* Internal API errors (those with code beginning "internal_api_error") will
 +  include the exception class name in a data field named "errorclass".
 +  * Class names are not guaranteed to remain stable, and in particular database
 +    exceptions will now include the "Wikimedia\Rdbms\" prefix in the class name.
 +  * The code including an exception class name is deprecated. In the future,
 +    all internal errors will use code "internal_api_error".
  * …
  
  === Action API internal changes in 1.33 ===
    Additionally, the  'APIGetDescription' and 'APIGetParamDescription' hooks have
    been removed, as their only use was to let extensions override values returned
    by getDescription() and getParamDescription(), respectively.
 +* API error codes may only contain ASCII letters, numbers, underscore, and
 +  hyphen. Methods such as ApiBase::dieWithError() and
 +  ApiMessageTrait::setApiCode() will throw an InvalidArgumentException if
 +  passed a bad code.
  * …
  
  === Languages updated in 1.33 ===
@@@ -115,9 -83,6 +115,9 @@@ because of Phabricator reports
  * ParserOptions defaults 'tidy' to true now, since the untidy modes of the
    parser are being deprecated and ParserOptions::getCanonicalOverrides()
    has always been true at any rate.
 +* Support for disabling tidy and external tidy implementations has been removed.
 +  This was deprecated in 1.32. The pure PHP Remex tidy implementation is now
 +  used and no configuration is necessary.
  * A number of deprecated methods for API documentation, intended for overriding
    by extensions, are no longer called by MediaWiki, and will emit deprecation
    notices if your extension attempts to use them:
  * The hooks LanguageGetSpecialPageAliases and LanguageGetMagic, deprecated since
    1.16, have now been removed. Instead, use $specialPageAliases or $magicWords
    respectively in a $wgExtensionMessagesFiles file.
 -* …
 +* The following methods of the Preferences class, deprecated in 1.31, have been
 +  removed:
 +  * getSaveBlacklist()
 +  * loadPreferenceValues()
 +  * getOptionFromUser()
 +  * profilePreferences()
 +  * skinPreferences()
 +  * filesPreferences()
 +  * datetimePreferences()
 +  * renderingPreferences()
 +  * editingPreferences()
 +  * rcPreferences()
 +  * watchlistPreferences()
 +  * searchPreferences()
 +  * miscPreferences()
 +  * generateSkinOptions()
 +  * getDateOptions()
 +  * getImageSizes()
 +  * getThumbSizes()
 +  * validateSignature()
 +  * cleanSignature()
 +  * getTimezoneOptions()
 +  * filterIntval()
 +  * filterTimezoneInput()
 +  * getTimeZoneList()
 +* mw.util.jsMessage(), deprecated in 1.20, was removed. Use mw.notify instead.
 +* (T61113) User::EDIT_TOKEN_SUFFIX was removed. It was deprecated since 1.27.
  
  === Deprecations in 1.33 ===
  * The configuration option $wgUseESI has been deprecated, and is expected
    This will help identify the issue if you added it to $wgAuthManagerConfig.
  * wfSplitWikiId() is now deprecated. Cache key generation should have the wiki
    domain ID as a key component and use makeGlobalKey().
+ * (T202094) Title::getUserCaseDBKey() is deprecated; instead, please use
+   Title::getDBKey(), which doesn't vary case.
  * …
  
  === Other changes in 1.33 ===
 +* (T208871) The hard-coded Google search form on the database error page was
 +  removed.
  * …
  
  == Compatibility ==
diff --combined includes/Title.php
@@@ -954,6 -954,7 +954,7 @@@ class Title implements LinkTarget 
  
        /**
         * Get the DB key with the initial letter case as specified by the user
+        * @deprecated since 1.33; please use Title::getDBKey() instead
         *
         * @return string DB key
         */
        /**
         * Get the page's content model id, see the CONTENT_MODEL_XXX constants.
         *
 +       * @todo Deprecate this in favor of SlotRecord::getModel()
 +       *
         * @param int $flags A bit field; may be Title::GAID_FOR_UPDATE to select for update
         * @return string Content model id
         */
                        $p = $this->mInterwiki . ':';
                }
  
 -              if ( 0 != $this->mNamespace ) {
 +              if ( $this->mNamespace != 0 ) {
                        $nsText = $this->getNsText();
  
                        if ( $nsText === false ) {
                        $errors[] = [ 'confirmedittext' ];
                }
  
 -              $useSlave = ( $rigor !== 'secure' );
 +              $useReplica = ( $rigor !== 'secure' );
                if ( ( $action == 'edit' || $action == 'create' )
 -                      && !$user->isBlockedFrom( $this, $useSlave )
 +                      && !$user->isBlockedFrom( $this, $useReplica )
                ) {
                        // Don't block the user from editing their own talk page unless they've been
                        // explicitly blocked from that too.
                        $this->mArticleID = $linkCache->addLinkObj( $this );
                        $linkCache->forUpdate( $oldUpdate );
                } else {
 -                      if ( -1 == $this->mArticleID ) {
 +                      if ( $this->mArticleID == -1 ) {
                                $this->mArticleID = $linkCache->addLinkObj( $this );
                        }
                }