aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--includes/Rest/Handler.php2
-rw-r--r--includes/Rest/Handler/ActionModuleBasedHandler.php2
-rw-r--r--includes/Rest/SimpleHandler.php2
-rw-r--r--includes/Revision/SlotRoleHandler.php2
-rw-r--r--includes/actions/Action.php2
-rw-r--r--includes/actions/FormAction.php2
-rw-r--r--includes/actions/FormlessAction.php2
-rw-r--r--includes/api/ApiBase.php2
-rw-r--r--includes/api/ApiQueryBase.php2
-rw-r--r--includes/api/ApiQueryGeneratorBase.php2
-rw-r--r--includes/api/ApiQueryRevisionsBase.php2
-rw-r--r--includes/auth/AbstractAuthenticationProvider.php2
-rw-r--r--includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php2
-rw-r--r--includes/auth/AbstractPreAuthenticationProvider.php2
-rw-r--r--includes/auth/AbstractPrimaryAuthenticationProvider.php2
-rw-r--r--includes/auth/AbstractSecondaryAuthenticationProvider.php2
-rw-r--r--includes/auth/AuthenticationRequest.php2
-rw-r--r--includes/auth/ButtonAuthenticationRequest.php2
-rw-r--r--includes/auth/ConfirmLinkAuthenticationRequest.php2
-rw-r--r--includes/auth/CreateFromLoginAuthenticationRequest.php2
-rw-r--r--includes/auth/CreatedAccountAuthenticationRequest.php2
-rw-r--r--includes/auth/CreationReasonAuthenticationRequest.php2
-rw-r--r--includes/auth/PasswordAuthenticationRequest.php2
-rw-r--r--includes/auth/PasswordDomainAuthenticationRequest.php2
-rw-r--r--includes/auth/RememberMeAuthenticationRequest.php2
-rw-r--r--includes/auth/TemporaryPasswordAuthenticationRequest.php2
-rw-r--r--includes/auth/UserDataAuthenticationRequest.php2
-rw-r--r--includes/auth/UsernameAuthenticationRequest.php2
-rw-r--r--includes/cache/dependency/CacheDependency.php2
-rw-r--r--includes/content/AbstractContent.php2
-rw-r--r--includes/content/CodeContentHandler.php2
-rw-r--r--includes/content/ContentHandler.php2
-rw-r--r--includes/content/TextContent.php2
-rw-r--r--includes/context/ContextSource.php2
-rw-r--r--includes/dao/DBAccessBase.php2
-rw-r--r--includes/deferred/DataUpdate.php2
-rw-r--r--includes/diff/SlotDiffRenderer.php2
-rw-r--r--includes/exception/BadRequestError.php2
-rw-r--r--includes/exception/ErrorPageError.php2
-rw-r--r--includes/exception/FatalError.php2
-rw-r--r--includes/exception/HttpError.php2
-rw-r--r--includes/exception/LocalizedException.php2
-rw-r--r--includes/exception/MWException.php2
-rw-r--r--includes/filerepo/file/ArchivedFile.php2
-rw-r--r--includes/filerepo/file/File.php2
-rw-r--r--includes/filerepo/file/LocalFile.php2
-rw-r--r--includes/filerepo/file/LocalFileLockError.php2
-rw-r--r--includes/filerepo/file/OldLocalFile.php2
-rw-r--r--includes/installer/DatabaseInstaller.php2
-rw-r--r--includes/installer/DatabaseUpdater.php2
-rw-r--r--includes/jobqueue/Job.php2
-rw-r--r--includes/libs/ParamValidator/TypeDef.php2
-rw-r--r--includes/libs/ParamValidator/TypeDef/NumericDef.php2
-rw-r--r--includes/libs/eventrelayer/EventRelayer.php2
-rw-r--r--includes/libs/filebackend/FileBackend.php2
-rw-r--r--includes/libs/filebackend/FileBackendStore.php2
-rw-r--r--includes/libs/filebackend/exception/FileBackendError.php2
-rw-r--r--includes/libs/filebackend/filejournal/FileJournal.php2
-rw-r--r--includes/libs/filebackend/fileophandle/FileBackendStoreOpHandle.php2
-rw-r--r--includes/libs/iterators/IteratorDecorator.php2
-rw-r--r--includes/libs/lockmanager/DBLockManager.php2
-rw-r--r--includes/libs/lockmanager/LockManager.php2
-rw-r--r--includes/libs/lockmanager/QuorumLockManager.php2
-rw-r--r--includes/libs/objectcache/BagOStuff.php2
-rw-r--r--includes/libs/rdbms/encasing/Blob.php2
-rw-r--r--includes/libs/rdbms/exception/DBError.php2
-rw-r--r--includes/libs/rdbms/exception/DBExpectedError.php2
-rw-r--r--includes/libs/rdbms/exception/DBQueryError.php2
-rw-r--r--includes/libs/rdbms/exception/DBTransactionError.php2
-rw-r--r--includes/libs/rdbms/exception/DBUnexpectedError.php2
-rw-r--r--includes/logging/LogFormatter.php2
-rw-r--r--includes/media/BitmapHandler.php2
-rw-r--r--includes/media/ExifBitmapHandler.php2
-rw-r--r--includes/media/ImageHandler.php2
-rw-r--r--includes/media/MediaHandler.php2
-rw-r--r--includes/media/MediaTransformError.php2
-rw-r--r--includes/media/MediaTransformOutput.php2
-rw-r--r--includes/media/TransformationalImageHandler.php2
-rw-r--r--includes/pager/AlphabeticPager.php2
-rw-r--r--includes/pager/IndexPager.php2
-rw-r--r--includes/pager/RangeChronologicalPager.php2
-rw-r--r--includes/pager/ReverseChronologicalPager.php2
-rw-r--r--includes/pager/TablePager.php2
-rw-r--r--includes/resourceloader/ResourceLoaderModule.php2
-rw-r--r--includes/search/BaseSearchResultSet.php2
-rw-r--r--includes/search/PrefixSearch.php2
-rw-r--r--includes/search/SearchDatabase.php2
-rw-r--r--includes/search/SearchEngine.php2
-rw-r--r--includes/search/SearchIndexFieldDefinition.php2
-rw-r--r--includes/session/ImmutableSessionProviderWithCookie.php2
-rw-r--r--includes/session/SessionProvider.php2
-rw-r--r--includes/skins/BaseTemplate.php2
-rw-r--r--includes/skins/QuickTemplate.php2
-rw-r--r--includes/skins/Skin.php2
-rw-r--r--includes/skins/SkinTemplate.php2
-rw-r--r--includes/specialpage/AuthManagerSpecialPage.php2
-rw-r--r--includes/specialpage/ImageQueryPage.php2
-rw-r--r--includes/specialpage/PageQueryPage.php2
-rw-r--r--includes/specialpage/QueryPage.php2
-rw-r--r--includes/specialpage/RedirectSpecialArticle.php2
-rw-r--r--includes/specialpage/RedirectSpecialPage.php2
-rw-r--r--includes/specialpage/SpecialPage.php2
-rw-r--r--includes/specialpage/SpecialRedirectToSpecial.php2
-rw-r--r--includes/specialpage/SpecialRedirectWithAction.php2
-rw-r--r--includes/specialpage/UnlistedSpecialPage.php2
-rw-r--r--includes/specialpage/WantedQueryPage.php2
-rw-r--r--includes/upload/UploadBase.php2
107 files changed, 107 insertions, 107 deletions
diff --git a/includes/Rest/Handler.php b/includes/Rest/Handler.php
index a778758ec535..dd8372c99760 100644
--- a/includes/Rest/Handler.php
+++ b/includes/Rest/Handler.php
@@ -11,7 +11,7 @@ use MediaWiki\Rest\Validator\Validator;
/**
* Base class for REST route handlers.
*
- * @stable for subclassing.
+ * @stable to extend.
*/
abstract class Handler {
diff --git a/includes/Rest/Handler/ActionModuleBasedHandler.php b/includes/Rest/Handler/ActionModuleBasedHandler.php
index bf6f33eb2673..0e6209d566b5 100644
--- a/includes/Rest/Handler/ActionModuleBasedHandler.php
+++ b/includes/Rest/Handler/ActionModuleBasedHandler.php
@@ -24,7 +24,7 @@ use Wikimedia\Message\ScalarParam;
/**
* Base class for REST handlers that are implemented by mapping to an existing ApiModule.
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class ActionModuleBasedHandler extends Handler {
diff --git a/includes/Rest/SimpleHandler.php b/includes/Rest/SimpleHandler.php
index 3c85a370d615..ee814808cf1e 100644
--- a/includes/Rest/SimpleHandler.php
+++ b/includes/Rest/SimpleHandler.php
@@ -9,7 +9,7 @@ namespace MediaWiki\Rest;
* run() must be declared in the subclass. It cannot be declared as abstract
* here because it has a variable parameter list.
*
- * @stable for subclassing
+ * @stable to extend
* @package MediaWiki\Rest
*/
abstract class SimpleHandler extends Handler {
diff --git a/includes/Revision/SlotRoleHandler.php b/includes/Revision/SlotRoleHandler.php
index 809501b97093..101dc456f055 100644
--- a/includes/Revision/SlotRoleHandler.php
+++ b/includes/Revision/SlotRoleHandler.php
@@ -29,7 +29,7 @@ use MediaWiki\Linker\LinkTarget;
* Most importantly, they control which content model can be used for the slot, and how it is
* represented in the rendered version of page content.
*
- * @stable for subclassing
+ * @stable to extend
*
* @since 1.33
*/
diff --git a/includes/actions/Action.php b/includes/actions/Action.php
index 85258c10c525..874fc5591311 100644
--- a/includes/actions/Action.php
+++ b/includes/actions/Action.php
@@ -38,7 +38,7 @@ use MediaWiki\MediaWikiServices;
* format (protect, delete, move, etc), and the just-do-something format (watch, rollback,
* patrol, etc). The FormAction and FormlessAction classes represent these two groups.
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class Action implements MessageLocalizer {
diff --git a/includes/actions/FormAction.php b/includes/actions/FormAction.php
index 66b7d9c1f425..bd03abe12162 100644
--- a/includes/actions/FormAction.php
+++ b/includes/actions/FormAction.php
@@ -23,7 +23,7 @@
/**
* An action which shows a form and does something based on the input from the form
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Actions
*/
diff --git a/includes/actions/FormlessAction.php b/includes/actions/FormlessAction.php
index 4a450694a462..a31ba4ada1b1 100644
--- a/includes/actions/FormlessAction.php
+++ b/includes/actions/FormlessAction.php
@@ -23,7 +23,7 @@
/**
* An action which just does something, without showing a form first.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Actions
*/
diff --git a/includes/api/ApiBase.php b/includes/api/ApiBase.php
index afd57deff9b2..b73ac012c441 100644
--- a/includes/api/ApiBase.php
+++ b/includes/api/ApiBase.php
@@ -45,7 +45,7 @@ use Wikimedia\Rdbms\IDatabase;
*
* Self-documentation: code to allow the API to document its own state
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup API
*/
diff --git a/includes/api/ApiQueryBase.php b/includes/api/ApiQueryBase.php
index f9379faec1c0..46afe5fafdb1 100644
--- a/includes/api/ApiQueryBase.php
+++ b/includes/api/ApiQueryBase.php
@@ -30,7 +30,7 @@ use Wikimedia\Rdbms\SelectQueryBuilder;
* It provides some common functionality such as constructing various SQL
* queries.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup API
*/
diff --git a/includes/api/ApiQueryGeneratorBase.php b/includes/api/ApiQueryGeneratorBase.php
index 6c94e58e3730..1f248715e0d0 100644
--- a/includes/api/ApiQueryGeneratorBase.php
+++ b/includes/api/ApiQueryGeneratorBase.php
@@ -21,7 +21,7 @@
*/
/**
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup API
*/
diff --git a/includes/api/ApiQueryRevisionsBase.php b/includes/api/ApiQueryRevisionsBase.php
index 467558db3472..7042c896a3ea 100644
--- a/includes/api/ApiQueryRevisionsBase.php
+++ b/includes/api/ApiQueryRevisionsBase.php
@@ -32,7 +32,7 @@ use Wikimedia\ParamValidator\TypeDef\IntegerDef;
/**
* A base class for functions common to producing a list of revisions.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup API
*/
diff --git a/includes/auth/AbstractAuthenticationProvider.php b/includes/auth/AbstractAuthenticationProvider.php
index 5f3037fa64ef..0743d834c474 100644
--- a/includes/auth/AbstractAuthenticationProvider.php
+++ b/includes/auth/AbstractAuthenticationProvider.php
@@ -28,7 +28,7 @@ use Psr\Log\LoggerInterface;
/**
* A base class that implements some of the boilerplate for an AuthenticationProvider
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php b/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php
index 3aae4d5779cd..09ff47a1322f 100644
--- a/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php
+++ b/includes/auth/AbstractPasswordPrimaryAuthenticationProvider.php
@@ -28,7 +28,7 @@ use Status;
/**
* Basic framework for a primary authentication provider that uses passwords
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/AbstractPreAuthenticationProvider.php b/includes/auth/AbstractPreAuthenticationProvider.php
index 4367d62e3b0a..824989ef6311 100644
--- a/includes/auth/AbstractPreAuthenticationProvider.php
+++ b/includes/auth/AbstractPreAuthenticationProvider.php
@@ -24,7 +24,7 @@ namespace MediaWiki\Auth;
/**
* A base class that implements some of the boilerplate for a PreAuthenticationProvider
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/AbstractPrimaryAuthenticationProvider.php b/includes/auth/AbstractPrimaryAuthenticationProvider.php
index a9e914a3b89f..fd67b2fc8fc9 100644
--- a/includes/auth/AbstractPrimaryAuthenticationProvider.php
+++ b/includes/auth/AbstractPrimaryAuthenticationProvider.php
@@ -26,7 +26,7 @@ use User;
/**
* A base class that implements some of the boilerplate for a PrimaryAuthenticationProvider
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/AbstractSecondaryAuthenticationProvider.php b/includes/auth/AbstractSecondaryAuthenticationProvider.php
index dba26e9a8263..c55180ea27cf 100644
--- a/includes/auth/AbstractSecondaryAuthenticationProvider.php
+++ b/includes/auth/AbstractSecondaryAuthenticationProvider.php
@@ -24,7 +24,7 @@ namespace MediaWiki\Auth;
/**
* A base class that implements some of the boilerplate for a SecondaryAuthenticationProvider
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/AuthenticationRequest.php b/includes/auth/AuthenticationRequest.php
index 5b917f3bd715..4d507ccd1b0a 100644
--- a/includes/auth/AuthenticationRequest.php
+++ b/includes/auth/AuthenticationRequest.php
@@ -31,7 +31,7 @@ use Message;
* An AuthenticationRequest represents a set of form fields that are needed on
* and provided from a login, account creation, password change or similar form.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/ButtonAuthenticationRequest.php b/includes/auth/ButtonAuthenticationRequest.php
index da692481d0da..7fb16c6a915c 100644
--- a/includes/auth/ButtonAuthenticationRequest.php
+++ b/includes/auth/ButtonAuthenticationRequest.php
@@ -26,7 +26,7 @@ use RawMessage;
/**
* This is an authentication request that just implements a simple button.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/ConfirmLinkAuthenticationRequest.php b/includes/auth/ConfirmLinkAuthenticationRequest.php
index 75ac8436c705..d38157476a45 100644
--- a/includes/auth/ConfirmLinkAuthenticationRequest.php
+++ b/includes/auth/ConfirmLinkAuthenticationRequest.php
@@ -22,7 +22,7 @@
namespace MediaWiki\Auth;
/**
- * @stable for subclassing
+ * @stable to extend
*/
class ConfirmLinkAuthenticationRequest extends AuthenticationRequest {
/** @var AuthenticationRequest[] */
diff --git a/includes/auth/CreateFromLoginAuthenticationRequest.php b/includes/auth/CreateFromLoginAuthenticationRequest.php
index 48a63372f37f..d0b9e0f7d20e 100644
--- a/includes/auth/CreateFromLoginAuthenticationRequest.php
+++ b/includes/auth/CreateFromLoginAuthenticationRequest.php
@@ -28,7 +28,7 @@ namespace MediaWiki\Auth;
* may be passed to AuthManager::beginAuthentication() or
* AuthManager::beginAccountCreation() anyway.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/CreatedAccountAuthenticationRequest.php b/includes/auth/CreatedAccountAuthenticationRequest.php
index 107ba7639cac..86bd19937053 100644
--- a/includes/auth/CreatedAccountAuthenticationRequest.php
+++ b/includes/auth/CreatedAccountAuthenticationRequest.php
@@ -23,7 +23,7 @@ namespace MediaWiki\Auth;
/**
* Returned from account creation to allow for logging into the created account
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/CreationReasonAuthenticationRequest.php b/includes/auth/CreationReasonAuthenticationRequest.php
index 9890405544da..606b13ef2bda 100644
--- a/includes/auth/CreationReasonAuthenticationRequest.php
+++ b/includes/auth/CreationReasonAuthenticationRequest.php
@@ -5,7 +5,7 @@ namespace MediaWiki\Auth;
/**
* Authentication request for the reason given for account creation.
* Used in logs and for notification.
- * @stable for subclassing
+ * @stable to extend
*/
class CreationReasonAuthenticationRequest extends AuthenticationRequest {
/** @var string Account creation reason (only used when creating for someone else) */
diff --git a/includes/auth/PasswordAuthenticationRequest.php b/includes/auth/PasswordAuthenticationRequest.php
index ddb1a35caf64..89280400dbee 100644
--- a/includes/auth/PasswordAuthenticationRequest.php
+++ b/includes/auth/PasswordAuthenticationRequest.php
@@ -23,7 +23,7 @@ namespace MediaWiki\Auth;
/**
* This is a value object for authentication requests with a username and password
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/PasswordDomainAuthenticationRequest.php b/includes/auth/PasswordDomainAuthenticationRequest.php
index 55855040ca12..bf1c989f5bbb 100644
--- a/includes/auth/PasswordDomainAuthenticationRequest.php
+++ b/includes/auth/PasswordDomainAuthenticationRequest.php
@@ -23,7 +23,7 @@ namespace MediaWiki\Auth;
/**
* This is a value object for authentication requests with a username, password, and domain
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/RememberMeAuthenticationRequest.php b/includes/auth/RememberMeAuthenticationRequest.php
index 959dc7975b58..4d8881943251 100644
--- a/includes/auth/RememberMeAuthenticationRequest.php
+++ b/includes/auth/RememberMeAuthenticationRequest.php
@@ -27,7 +27,7 @@ use MediaWiki\Session\SessionProvider;
/**
* This is an authentication request added by AuthManager to show a "remember
* me" checkbox. When checked, it will take more time for the authenticated session to expire.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/TemporaryPasswordAuthenticationRequest.php b/includes/auth/TemporaryPasswordAuthenticationRequest.php
index a452bb07481c..be0d6897e43f 100644
--- a/includes/auth/TemporaryPasswordAuthenticationRequest.php
+++ b/includes/auth/TemporaryPasswordAuthenticationRequest.php
@@ -25,7 +25,7 @@ use MediaWiki\MediaWikiServices;
/**
* This represents the intention to set a temporary password for the user.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/UserDataAuthenticationRequest.php b/includes/auth/UserDataAuthenticationRequest.php
index 56343a69ab41..5e485b84ef47 100644
--- a/includes/auth/UserDataAuthenticationRequest.php
+++ b/includes/auth/UserDataAuthenticationRequest.php
@@ -28,7 +28,7 @@ use User;
/**
* This represents additional user data requested on the account creation form
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/auth/UsernameAuthenticationRequest.php b/includes/auth/UsernameAuthenticationRequest.php
index 6351e9da3b00..5d92a06aa0d1 100644
--- a/includes/auth/UsernameAuthenticationRequest.php
+++ b/includes/auth/UsernameAuthenticationRequest.php
@@ -23,7 +23,7 @@ namespace MediaWiki\Auth;
/**
* AuthenticationRequest to ensure something with a username is present
- * @stable for subclassing
+ * @stable to extend
* @ingroup Auth
* @since 1.27
*/
diff --git a/includes/cache/dependency/CacheDependency.php b/includes/cache/dependency/CacheDependency.php
index e3165fb5be60..9bc71ea845be 100644
--- a/includes/cache/dependency/CacheDependency.php
+++ b/includes/cache/dependency/CacheDependency.php
@@ -22,7 +22,7 @@
*/
/**
- * @stable for subclassing
+ * @stable to extend
* @ingroup Cache
*/
abstract class CacheDependency {
diff --git a/includes/content/AbstractContent.php b/includes/content/AbstractContent.php
index 2c72f8792283..8c6df7881808 100644
--- a/includes/content/AbstractContent.php
+++ b/includes/content/AbstractContent.php
@@ -32,7 +32,7 @@ use MediaWiki\MediaWikiServices;
/**
* Base implementation for content objects.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Content
*/
diff --git a/includes/content/CodeContentHandler.php b/includes/content/CodeContentHandler.php
index ac11082946de..4095ba5a0a83 100644
--- a/includes/content/CodeContentHandler.php
+++ b/includes/content/CodeContentHandler.php
@@ -26,7 +26,7 @@ use MediaWiki\MediaWikiServices;
/**
* Content handler for code content such as CSS, JavaScript, JSON, etc.
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.24
* @ingroup Content
*/
diff --git a/includes/content/ContentHandler.php b/includes/content/ContentHandler.php
index b849da3d3ffa..0f67b8a7bf79 100644
--- a/includes/content/ContentHandler.php
+++ b/includes/content/ContentHandler.php
@@ -52,7 +52,7 @@ use Wikimedia\Assert\Assert;
* type), but wikitext content may be represented by a DOM or AST structure in
* the future.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Content
*/
diff --git a/includes/content/TextContent.php b/includes/content/TextContent.php
index 890ec14b3e77..156d3a29fafc 100644
--- a/includes/content/TextContent.php
+++ b/includes/content/TextContent.php
@@ -33,7 +33,7 @@ use MediaWiki\MediaWikiServices;
* TextContent instances are immutable
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Content
*/
class TextContent extends AbstractContent {
diff --git a/includes/context/ContextSource.php b/includes/context/ContextSource.php
index 684d5382e4e2..c33ea712ffb8 100644
--- a/includes/context/ContextSource.php
+++ b/includes/context/ContextSource.php
@@ -24,7 +24,7 @@ use MediaWiki\MediaWikiServices;
* The simplest way of implementing IContextSource is to hold a RequestContext as a
* member variable and provide accessors to it.
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.18
*/
abstract class ContextSource implements IContextSource {
diff --git a/includes/dao/DBAccessBase.php b/includes/dao/DBAccessBase.php
index e1e464e11e5c..533b78f39415 100644
--- a/includes/dao/DBAccessBase.php
+++ b/includes/dao/DBAccessBase.php
@@ -28,7 +28,7 @@ use Wikimedia\Rdbms\ILoadBalancer;
* @file
* @ingroup Database
*
- * @stable for subclassing
+ * @stable to extend
* @license GPL-2.0-or-later
* @author Daniel Kinzler
*/
diff --git a/includes/deferred/DataUpdate.php b/includes/deferred/DataUpdate.php
index 0d97968bc969..7978c0beaac4 100644
--- a/includes/deferred/DataUpdate.php
+++ b/includes/deferred/DataUpdate.php
@@ -25,7 +25,7 @@
* Abstract base class for update jobs that do something with some secondary
* data extracted from article.
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class DataUpdate implements DeferrableUpdate {
/** @var mixed Result from LBFactory::getEmptyTransactionTicket() */
diff --git a/includes/diff/SlotDiffRenderer.php b/includes/diff/SlotDiffRenderer.php
index a86b354d5576..5f3661299e81 100644
--- a/includes/diff/SlotDiffRenderer.php
+++ b/includes/diff/SlotDiffRenderer.php
@@ -34,7 +34,7 @@ use Wikimedia\Assert\Assert;
* overriding ContentHandler::getSlotDiffRendererInternal. Other extensions that want to interfere
* with diff generation in some way can use the GetSlotDiffRenderer hook.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup DifferenceEngine
*/
abstract class SlotDiffRenderer {
diff --git a/includes/exception/BadRequestError.php b/includes/exception/BadRequestError.php
index 7d9cfd2b06a8..3b0bf669c1bd 100644
--- a/includes/exception/BadRequestError.php
+++ b/includes/exception/BadRequestError.php
@@ -22,7 +22,7 @@
* An error page that emits an HTTP 400 Bad Request status code.
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @since 1.28
* @ingroup Exception
*/
diff --git a/includes/exception/ErrorPageError.php b/includes/exception/ErrorPageError.php
index 217a36b19f3a..0950424c5c52 100644
--- a/includes/exception/ErrorPageError.php
+++ b/includes/exception/ErrorPageError.php
@@ -22,7 +22,7 @@
* An error page which can definitely be safely rendered using the OutputPage.
*
* @newable
- * @stable for subclassing
+ * @stable to extend
*
* @since 1.7
* @ingroup Exception
diff --git a/includes/exception/FatalError.php b/includes/exception/FatalError.php
index a5e39c9508f9..067e7a618af0 100644
--- a/includes/exception/FatalError.php
+++ b/includes/exception/FatalError.php
@@ -30,7 +30,7 @@
* the exception is all the site administrator needs to know.
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @since 1.7
* @ingroup Exception
*/
diff --git a/includes/exception/HttpError.php b/includes/exception/HttpError.php
index c432f63e12d7..ca9a0baaecd2 100644
--- a/includes/exception/HttpError.php
+++ b/includes/exception/HttpError.php
@@ -25,7 +25,7 @@ use MediaWiki\Logger\LoggerFactory;
* Replacement for wfHttpError().
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @since 1.19
* @ingroup Exception
*/
diff --git a/includes/exception/LocalizedException.php b/includes/exception/LocalizedException.php
index b55bdc0b9f48..9c9f0090e2ac 100644
--- a/includes/exception/LocalizedException.php
+++ b/includes/exception/LocalizedException.php
@@ -22,7 +22,7 @@
* Basic localized exception.
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @since 1.29
* @ingroup Exception
* @note Don't use this in a situation where MessageCache is not functional.
diff --git a/includes/exception/MWException.php b/includes/exception/MWException.php
index ec93d7505e03..f825b5373009 100644
--- a/includes/exception/MWException.php
+++ b/includes/exception/MWException.php
@@ -22,7 +22,7 @@
* MediaWiki exception
*
* @newable
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Exception
*/
diff --git a/includes/filerepo/file/ArchivedFile.php b/includes/filerepo/file/ArchivedFile.php
index 566924a02554..40ff09f4e462 100644
--- a/includes/filerepo/file/ArchivedFile.php
+++ b/includes/filerepo/file/ArchivedFile.php
@@ -27,7 +27,7 @@ use MediaWiki\Revision\RevisionRecord;
/**
* Class representing a row of the 'filearchive' table
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileAbstraction
*/
class ArchivedFile {
diff --git a/includes/filerepo/file/File.php b/includes/filerepo/file/File.php
index 6a427925c4ae..8f8e221e3925 100644
--- a/includes/filerepo/file/File.php
+++ b/includes/filerepo/file/File.php
@@ -57,7 +57,7 @@ use Wikimedia\AtEase\AtEase;
* ideally accept a RepoGroup in its constructor and then, use $this->repoGroup->findFile()
* and $this->repoGroup->getLocalRepo()->newFile().
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileAbstraction
*/
abstract class File implements IDBAccessObject {
diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php
index 293e7c946560..71c48c9cc1d4 100644
--- a/includes/filerepo/file/LocalFile.php
+++ b/includes/filerepo/file/LocalFile.php
@@ -53,7 +53,7 @@ use Wikimedia\Rdbms\IResultWrapper;
* ideally accept a RepoGroup in its constructor and then, use $this->repoGroup->findFile()
* and $this->repoGroup->getLocalRepo()->newFile().
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileAbstraction
*/
class LocalFile extends File {
diff --git a/includes/filerepo/file/LocalFileLockError.php b/includes/filerepo/file/LocalFileLockError.php
index a3fe455a7eff..e8d01547a681 100644
--- a/includes/filerepo/file/LocalFileLockError.php
+++ b/includes/filerepo/file/LocalFileLockError.php
@@ -23,7 +23,7 @@
/**
* @newable
- * @stable for subclassing
+ * @stable to extend
*/
class LocalFileLockError extends ErrorPageError {
diff --git a/includes/filerepo/file/OldLocalFile.php b/includes/filerepo/file/OldLocalFile.php
index a1aea72cc89d..1121ffcf8b01 100644
--- a/includes/filerepo/file/OldLocalFile.php
+++ b/includes/filerepo/file/OldLocalFile.php
@@ -27,7 +27,7 @@ use MediaWiki\Revision\RevisionRecord;
/**
* Class to represent a file in the oldimage table
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileAbstraction
*/
class OldLocalFile extends LocalFile {
diff --git a/includes/installer/DatabaseInstaller.php b/includes/installer/DatabaseInstaller.php
index 74aa5752b004..eab9240bebbf 100644
--- a/includes/installer/DatabaseInstaller.php
+++ b/includes/installer/DatabaseInstaller.php
@@ -31,7 +31,7 @@ use Wikimedia\Rdbms\LBFactorySingle;
/**
* Base class for DBMS-specific installation helper classes.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Installer
* @since 1.17
*/
diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php
index 2ec3cb2c6ee6..5ff771e64eb8 100644
--- a/includes/installer/DatabaseUpdater.php
+++ b/includes/installer/DatabaseUpdater.php
@@ -31,7 +31,7 @@ require_once __DIR__ . '/../../maintenance/Maintenance.php';
* Class for handling database updates. Roughly based off of updaters.inc, with
* a few improvements :)
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Installer
* @since 1.17
*/
diff --git a/includes/jobqueue/Job.php b/includes/jobqueue/Job.php
index ffed6e0cdb5c..1b05afb9e9a5 100644
--- a/includes/jobqueue/Job.php
+++ b/includes/jobqueue/Job.php
@@ -25,7 +25,7 @@
* Class to both describe a background job and handle jobs.
* To push jobs onto queues, use JobQueueGroup::singleton()->push();
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup JobQueue
*/
diff --git a/includes/libs/ParamValidator/TypeDef.php b/includes/libs/ParamValidator/TypeDef.php
index 59f2a1aa6671..85653ddf683b 100644
--- a/includes/libs/ParamValidator/TypeDef.php
+++ b/includes/libs/ParamValidator/TypeDef.php
@@ -12,7 +12,7 @@ use Wikimedia\Message\MessageValue;
* passed to ParamValidator::getValue(), ParamValidator::validateValue(), and the like
* and is intended for communication of non-global state to the Callbacks.
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.34
* @unstable
*/
diff --git a/includes/libs/ParamValidator/TypeDef/NumericDef.php b/includes/libs/ParamValidator/TypeDef/NumericDef.php
index 35b72a5ece85..8fbf436fe3f4 100644
--- a/includes/libs/ParamValidator/TypeDef/NumericDef.php
+++ b/includes/libs/ParamValidator/TypeDef/NumericDef.php
@@ -19,7 +19,7 @@ use Wikimedia\ParamValidator\ValidationException;
* - 'max': Normal maximum allowed, or null if there is no limit.
* - 'highmax': High limits maximum allowed, or null if there is no limit.
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.35
* @unstable
*/
diff --git a/includes/libs/eventrelayer/EventRelayer.php b/includes/libs/eventrelayer/EventRelayer.php
index cf84f9ffbf3b..c15da4f93795 100644
--- a/includes/libs/eventrelayer/EventRelayer.php
+++ b/includes/libs/eventrelayer/EventRelayer.php
@@ -24,7 +24,7 @@ use Psr\Log\NullLogger;
/**
* Base class for reliable event relays
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class EventRelayer implements LoggerAwareInterface {
/** @var LoggerInterface */
diff --git a/includes/libs/filebackend/FileBackend.php b/includes/libs/filebackend/FileBackend.php
index be8f775c996d..0cf979e05b64 100644
--- a/includes/libs/filebackend/FileBackend.php
+++ b/includes/libs/filebackend/FileBackend.php
@@ -90,7 +90,7 @@ use Wikimedia\ScopedCallback;
*
* See [the architecture doc](@ref filebackendarch) for more information.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup FileBackend
* @since 1.19
diff --git a/includes/libs/filebackend/FileBackendStore.php b/includes/libs/filebackend/FileBackendStore.php
index 2395976f8ac7..0793b9ed5135 100644
--- a/includes/libs/filebackend/FileBackendStore.php
+++ b/includes/libs/filebackend/FileBackendStore.php
@@ -34,7 +34,7 @@ use Wikimedia\Timestamp\ConvertibleTimestamp;
* such as storeInternal(), copyInternal(), deleteInternal() and the like.
* This class is also responsible for path resolution and sanitization.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileBackend
* @since 1.19
*/
diff --git a/includes/libs/filebackend/exception/FileBackendError.php b/includes/libs/filebackend/exception/FileBackendError.php
index 41f2675bc17e..1b74380a6e1b 100644
--- a/includes/libs/filebackend/exception/FileBackendError.php
+++ b/includes/libs/filebackend/exception/FileBackendError.php
@@ -3,7 +3,7 @@
* File backend exception for checked exceptions (e.g. I/O errors)
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileBackend
* @since 1.22
*/
diff --git a/includes/libs/filebackend/filejournal/FileJournal.php b/includes/libs/filebackend/filejournal/FileJournal.php
index 1a4cc4f990e5..5e9ab9869a91 100644
--- a/includes/libs/filebackend/filejournal/FileJournal.php
+++ b/includes/libs/filebackend/filejournal/FileJournal.php
@@ -34,7 +34,7 @@ use Wikimedia\Timestamp\ConvertibleTimestamp;
*
* Subclasses should avoid throwing exceptions at all costs.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup FileJournal
* @since 1.20
*/
diff --git a/includes/libs/filebackend/fileophandle/FileBackendStoreOpHandle.php b/includes/libs/filebackend/fileophandle/FileBackendStoreOpHandle.php
index 29ee854b3da3..b239c74d5272 100644
--- a/includes/libs/filebackend/fileophandle/FileBackendStoreOpHandle.php
+++ b/includes/libs/filebackend/fileophandle/FileBackendStoreOpHandle.php
@@ -27,7 +27,7 @@
* This class is largely backend-specific and is mostly just "magic" to be
* passed to FileBackendStore::executeOpHandlesInternal().
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class FileBackendStoreOpHandle {
/** @var array */
diff --git a/includes/libs/iterators/IteratorDecorator.php b/includes/libs/iterators/IteratorDecorator.php
index d9f3b5d05205..00eca9674e7e 100644
--- a/includes/libs/iterators/IteratorDecorator.php
+++ b/includes/libs/iterators/IteratorDecorator.php
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * @stable for subclassing
+ * @stable to extend
* @file
* @ingroup Maintenance
*/
diff --git a/includes/libs/lockmanager/DBLockManager.php b/includes/libs/lockmanager/DBLockManager.php
index 5be7bec9bf02..ad2bc80ae09d 100644
--- a/includes/libs/lockmanager/DBLockManager.php
+++ b/includes/libs/lockmanager/DBLockManager.php
@@ -36,7 +36,7 @@ use Wikimedia\Rdbms\IDatabase;
*
* Caching is used to avoid hitting servers that are down.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup LockManager
* @since 1.19
*/
diff --git a/includes/libs/lockmanager/LockManager.php b/includes/libs/lockmanager/LockManager.php
index cff41c0a0c14..14f74dc1fea0 100644
--- a/includes/libs/lockmanager/LockManager.php
+++ b/includes/libs/lockmanager/LockManager.php
@@ -41,7 +41,7 @@ use Wikimedia\WaitConditionLoop;
*
* Subclasses should avoid throwing exceptions at all costs.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup LockManager
* @since 1.19
*/
diff --git a/includes/libs/lockmanager/QuorumLockManager.php b/includes/libs/lockmanager/QuorumLockManager.php
index ee13b8120686..08cb644d4c46 100644
--- a/includes/libs/lockmanager/QuorumLockManager.php
+++ b/includes/libs/lockmanager/QuorumLockManager.php
@@ -25,7 +25,7 @@
* Version of LockManager that uses a quorum from peer servers for locks.
* The resource space can also be sharded into separate peer groups.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup LockManager
* @since 1.20
*/
diff --git a/includes/libs/objectcache/BagOStuff.php b/includes/libs/objectcache/BagOStuff.php
index 0eabc1b7ea91..0ae4113df69f 100644
--- a/includes/libs/objectcache/BagOStuff.php
+++ b/includes/libs/objectcache/BagOStuff.php
@@ -60,7 +60,7 @@ use Wikimedia\ScopedCallback;
* having poor scalability). The same goes for the "segmentedValueMaxSize" member, which limits
* the maximum size and chunk count (indirectly) of values.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Cache
*/
abstract class BagOStuff implements
diff --git a/includes/libs/rdbms/encasing/Blob.php b/includes/libs/rdbms/encasing/Blob.php
index ec35e457f43e..2644185e541b 100644
--- a/includes/libs/rdbms/encasing/Blob.php
+++ b/includes/libs/rdbms/encasing/Blob.php
@@ -4,7 +4,7 @@ namespace Wikimedia\Rdbms;
/**
* @newable
- * @stable for subclassing
+ * @stable to extend
*/
class Blob implements IBlob {
/** @var string */
diff --git a/includes/libs/rdbms/exception/DBError.php b/includes/libs/rdbms/exception/DBError.php
index 7d49ce2e5188..c82f7f491a33 100644
--- a/includes/libs/rdbms/exception/DBError.php
+++ b/includes/libs/rdbms/exception/DBError.php
@@ -26,7 +26,7 @@ use RuntimeException;
/**
* Database error base class
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Database
*/
class DBError extends RuntimeException {
diff --git a/includes/libs/rdbms/exception/DBExpectedError.php b/includes/libs/rdbms/exception/DBExpectedError.php
index 3b34f2e222f4..c4750af2801b 100644
--- a/includes/libs/rdbms/exception/DBExpectedError.php
+++ b/includes/libs/rdbms/exception/DBExpectedError.php
@@ -27,7 +27,7 @@ use MessageSpecifier;
* frequently, so we try to give friendly error messages for them.
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Database
* @since 1.23
*/
diff --git a/includes/libs/rdbms/exception/DBQueryError.php b/includes/libs/rdbms/exception/DBQueryError.php
index 3036b0bfda56..5744781d2aae 100644
--- a/includes/libs/rdbms/exception/DBQueryError.php
+++ b/includes/libs/rdbms/exception/DBQueryError.php
@@ -24,7 +24,7 @@ namespace Wikimedia\Rdbms;
/**
* @ingroup Database
* @newable
- * @stable for subclassing
+ * @stable to extend
*/
class DBQueryError extends DBExpectedError {
/** @var string */
diff --git a/includes/libs/rdbms/exception/DBTransactionError.php b/includes/libs/rdbms/exception/DBTransactionError.php
index 84a2d1138927..20442dcd93c0 100644
--- a/includes/libs/rdbms/exception/DBTransactionError.php
+++ b/includes/libs/rdbms/exception/DBTransactionError.php
@@ -23,7 +23,7 @@ namespace Wikimedia\Rdbms;
/**
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Database
*/
class DBTransactionError extends DBExpectedError {
diff --git a/includes/libs/rdbms/exception/DBUnexpectedError.php b/includes/libs/rdbms/exception/DBUnexpectedError.php
index a0ead5671b37..26069cb40f1d 100644
--- a/includes/libs/rdbms/exception/DBUnexpectedError.php
+++ b/includes/libs/rdbms/exception/DBUnexpectedError.php
@@ -23,7 +23,7 @@ namespace Wikimedia\Rdbms;
/**
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Database
*/
class DBUnexpectedError extends DBError {
diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php
index 0594dadafe05..21ab018d0ec0 100644
--- a/includes/logging/LogFormatter.php
+++ b/includes/logging/LogFormatter.php
@@ -34,7 +34,7 @@ use MediaWiki\MediaWikiServices;
* $wgLogActionsHandlers['type/*'] = 'class';
* @endcode
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.19
*/
class LogFormatter {
diff --git a/includes/media/BitmapHandler.php b/includes/media/BitmapHandler.php
index 9b2b3c1e52d8..33299b624b39 100644
--- a/includes/media/BitmapHandler.php
+++ b/includes/media/BitmapHandler.php
@@ -26,7 +26,7 @@ use MediaWiki\Shell\Shell;
/**
* Generic handler for bitmap images
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Media
*/
class BitmapHandler extends TransformationalImageHandler {
diff --git a/includes/media/ExifBitmapHandler.php b/includes/media/ExifBitmapHandler.php
index 45967fecf2e4..278727ace2da 100644
--- a/includes/media/ExifBitmapHandler.php
+++ b/includes/media/ExifBitmapHandler.php
@@ -25,7 +25,7 @@
* Stuff specific to JPEG and (built-in) TIFF handler.
* All metadata related, since both JPEG and TIFF support Exif.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Media
*/
class ExifBitmapHandler extends BitmapHandler {
diff --git a/includes/media/ImageHandler.php b/includes/media/ImageHandler.php
index 6fa38434d0f0..f4c89cbd4bc3 100644
--- a/includes/media/ImageHandler.php
+++ b/includes/media/ImageHandler.php
@@ -24,7 +24,7 @@
/**
* Media handler abstract base class for images
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Media
*/
diff --git a/includes/media/MediaHandler.php b/includes/media/MediaHandler.php
index b0aa9de86c19..d081e7102405 100644
--- a/includes/media/MediaHandler.php
+++ b/includes/media/MediaHandler.php
@@ -30,7 +30,7 @@ use MediaWiki\MediaWikiServices;
/**
* Base media handler class
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Media
*/
diff --git a/includes/media/MediaTransformError.php b/includes/media/MediaTransformError.php
index 6216f509494a..df70dcc43d42 100644
--- a/includes/media/MediaTransformError.php
+++ b/includes/media/MediaTransformError.php
@@ -25,7 +25,7 @@
* Basic media transform error class
*
* @newable
- * @stable for subclassing
+ * @stable to extend
* @ingroup Media
*/
class MediaTransformError extends MediaTransformOutput {
diff --git a/includes/media/MediaTransformOutput.php b/includes/media/MediaTransformOutput.php
index 648036c9b896..943148b68bd6 100644
--- a/includes/media/MediaTransformOutput.php
+++ b/includes/media/MediaTransformOutput.php
@@ -24,7 +24,7 @@
/**
* Base class for the output of MediaHandler::doTransform() and File::transform().
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Media
*/
abstract class MediaTransformOutput {
diff --git a/includes/media/TransformationalImageHandler.php b/includes/media/TransformationalImageHandler.php
index 0dc0e999cda9..f0e700e5daea 100644
--- a/includes/media/TransformationalImageHandler.php
+++ b/includes/media/TransformationalImageHandler.php
@@ -31,7 +31,7 @@ use MediaWiki\Shell\Shell;
/**
* Handler for images that need to be transformed
*
- * @stable for subclassing
+ * @stable to extend
*
* @since 1.24
* @ingroup Media
diff --git a/includes/pager/AlphabeticPager.php b/includes/pager/AlphabeticPager.php
index b3f33858d91a..d87de4e87e54 100644
--- a/includes/pager/AlphabeticPager.php
+++ b/includes/pager/AlphabeticPager.php
@@ -23,7 +23,7 @@
/**
* IndexPager with an alphabetic list and a formatted navigation bar
- * @stable for subclassing
+ * @stable to extend
* @ingroup Pager
*/
abstract class AlphabeticPager extends IndexPager {
diff --git a/includes/pager/IndexPager.php b/includes/pager/IndexPager.php
index b5bc833b25fc..f373be02bd50 100644
--- a/includes/pager/IndexPager.php
+++ b/includes/pager/IndexPager.php
@@ -68,7 +68,7 @@ use Wikimedia\Rdbms\IResultWrapper;
* getQueryInfo() and getIndexField(). Don't forget to call the parent
* constructor if you override it.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Pager
*/
abstract class IndexPager extends ContextSource implements Pager {
diff --git a/includes/pager/RangeChronologicalPager.php b/includes/pager/RangeChronologicalPager.php
index 6b9a121d8898..f014dadfbc2f 100644
--- a/includes/pager/RangeChronologicalPager.php
+++ b/includes/pager/RangeChronologicalPager.php
@@ -22,7 +22,7 @@ use Wikimedia\Timestamp\TimestampException;
/**
* Pager for filtering by a range of dates.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Pager
*/
abstract class RangeChronologicalPager extends ReverseChronologicalPager {
diff --git a/includes/pager/ReverseChronologicalPager.php b/includes/pager/ReverseChronologicalPager.php
index cc5648194ef3..1ae2e2285dad 100644
--- a/includes/pager/ReverseChronologicalPager.php
+++ b/includes/pager/ReverseChronologicalPager.php
@@ -23,7 +23,7 @@ use Wikimedia\Timestamp\TimestampException;
/**
* Efficient paging for SQL queries.
* IndexPager with a formatted navigation bar.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Pager
*/
abstract class ReverseChronologicalPager extends IndexPager {
diff --git a/includes/pager/TablePager.php b/includes/pager/TablePager.php
index f96d8b7b7700..9930975d8089 100644
--- a/includes/pager/TablePager.php
+++ b/includes/pager/TablePager.php
@@ -25,7 +25,7 @@ use MediaWiki\Linker\LinkRenderer;
/**
* Table-based display with a user-selectable sort order
- * @stable for subclassing
+ * @stable to extend
* @ingroup Pager
*/
abstract class TablePager extends IndexPager {
diff --git a/includes/resourceloader/ResourceLoaderModule.php b/includes/resourceloader/ResourceLoaderModule.php
index 8c0b53b6ba62..056d87609856 100644
--- a/includes/resourceloader/ResourceLoaderModule.php
+++ b/includes/resourceloader/ResourceLoaderModule.php
@@ -32,7 +32,7 @@ use Wikimedia\RelPath;
/**
* Abstraction for ResourceLoader modules, with name registration and maxage functionality.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup ResourceLoader
* @since 1.17
*/
diff --git a/includes/search/BaseSearchResultSet.php b/includes/search/BaseSearchResultSet.php
index 51b09e61be25..66cbf1ffcf83 100644
--- a/includes/search/BaseSearchResultSet.php
+++ b/includes/search/BaseSearchResultSet.php
@@ -9,7 +9,7 @@
* - implement a constructor
* - declare utility methods
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Search
*/
abstract class BaseSearchResultSet implements ISearchResultSet {
diff --git a/includes/search/PrefixSearch.php b/includes/search/PrefixSearch.php
index 0e3522873a37..76112150ac19 100644
--- a/includes/search/PrefixSearch.php
+++ b/includes/search/PrefixSearch.php
@@ -27,7 +27,7 @@ use MediaWiki\MediaWikiServices;
* names that match. Used largely by the OpenSearch implementation.
* @deprecated Since 1.27, Use SearchEngine::defaultPrefixSearch or SearchEngine::completionSearch
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Search
*/
abstract class PrefixSearch {
diff --git a/includes/search/SearchDatabase.php b/includes/search/SearchDatabase.php
index fb9abb764a50..273c6988401f 100644
--- a/includes/search/SearchDatabase.php
+++ b/includes/search/SearchDatabase.php
@@ -26,7 +26,7 @@ use Wikimedia\Rdbms\ILoadBalancer;
/**
* Base search engine base class for database-backed searches
- * @stable for subclassing
+ * @stable to extend
* @ingroup Search
* @since 1.23
*/
diff --git a/includes/search/SearchEngine.php b/includes/search/SearchEngine.php
index e29a13631120..a60851de6326 100644
--- a/includes/search/SearchEngine.php
+++ b/includes/search/SearchEngine.php
@@ -31,7 +31,7 @@ use MediaWiki\MediaWikiServices;
/**
* Contain a class for special pages
- * @stable for subclassing
+ * @stable to extend
* @ingroup Search
*/
abstract class SearchEngine {
diff --git a/includes/search/SearchIndexFieldDefinition.php b/includes/search/SearchIndexFieldDefinition.php
index 8980052d76a2..8437aaedf12e 100644
--- a/includes/search/SearchIndexFieldDefinition.php
+++ b/includes/search/SearchIndexFieldDefinition.php
@@ -6,7 +6,7 @@
* Specific engines should extend this class and at at least,
* override the getMapping method, but can reuse other parts.
*
- * @stable for subclassing
+ * @stable to extend
* @since 1.28
*/
abstract class SearchIndexFieldDefinition implements SearchIndexField {
diff --git a/includes/session/ImmutableSessionProviderWithCookie.php b/includes/session/ImmutableSessionProviderWithCookie.php
index 787e155b6173..b5e0ee327594 100644
--- a/includes/session/ImmutableSessionProviderWithCookie.php
+++ b/includes/session/ImmutableSessionProviderWithCookie.php
@@ -34,7 +34,7 @@ use WebRequest;
* not changing User" using a session cookie. This class implements such an
* optional session cookie.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Session
* @since 1.27
*/
diff --git a/includes/session/SessionProvider.php b/includes/session/SessionProvider.php
index 88f881650841..9075cd28a524 100644
--- a/includes/session/SessionProvider.php
+++ b/includes/session/SessionProvider.php
@@ -73,7 +73,7 @@ use WebRequest;
* session cookie names should be used for different providers to avoid
* collisions.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Session
* @since 1.27
* @see https://www.mediawiki.org/wiki/Manual:SessionManager_and_AuthManager
diff --git a/includes/skins/BaseTemplate.php b/includes/skins/BaseTemplate.php
index c8ed401e39eb..38abea5bafdd 100644
--- a/includes/skins/BaseTemplate.php
+++ b/includes/skins/BaseTemplate.php
@@ -26,7 +26,7 @@ use Wikimedia\WrappedStringList;
* this class features helper methods that provide common ways of interacting
* with the data stored in the QuickTemplate
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class BaseTemplate extends QuickTemplate {
diff --git a/includes/skins/QuickTemplate.php b/includes/skins/QuickTemplate.php
index f9548f9a3d76..e11b1e24b614 100644
--- a/includes/skins/QuickTemplate.php
+++ b/includes/skins/QuickTemplate.php
@@ -24,7 +24,7 @@ use MediaWiki\MediaWikiServices;
/**
* Generic wrapper for template functions, with interface
* compatible with what we use of PHPTAL 0.7.
- * @stable for subclassing
+ * @stable to extend
* @ingroup Skins
*/
abstract class QuickTemplate {
diff --git a/includes/skins/Skin.php b/includes/skins/Skin.php
index 04bd12f4254e..9f54339942bc 100644
--- a/includes/skins/Skin.php
+++ b/includes/skins/Skin.php
@@ -35,7 +35,7 @@ use Wikimedia\WrappedStringList;
*
* See docs/Skin.md for more information.
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup Skins
*/
abstract class Skin extends ContextSource {
diff --git a/includes/skins/SkinTemplate.php b/includes/skins/SkinTemplate.php
index 92b093fac1fa..6e0a5d81405c 100644
--- a/includes/skins/SkinTemplate.php
+++ b/includes/skins/SkinTemplate.php
@@ -32,7 +32,7 @@ use MediaWiki\MediaWikiServices;
* to the computations individual esi snippets need. Most importantly no body
* parsing for most of those of course.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup Skins
*/
diff --git a/includes/specialpage/AuthManagerSpecialPage.php b/includes/specialpage/AuthManagerSpecialPage.php
index ea2572c442fb..3f1c1a535b91 100644
--- a/includes/specialpage/AuthManagerSpecialPage.php
+++ b/includes/specialpage/AuthManagerSpecialPage.php
@@ -12,7 +12,7 @@ use MediaWiki\Session\Token;
* a set of AuthenticationRequest objects, submits the result to AuthManager and
* partially handles the response.
*
- * @stable for subclassing
+ * @stable to extend
*/
abstract class AuthManagerSpecialPage extends SpecialPage {
/** @var string[] The list of actions this special page deals with. Subclasses should override
diff --git a/includes/specialpage/ImageQueryPage.php b/includes/specialpage/ImageQueryPage.php
index be6e55a5706e..2cf755c67d60 100644
--- a/includes/specialpage/ImageQueryPage.php
+++ b/includes/specialpage/ImageQueryPage.php
@@ -28,7 +28,7 @@ use Wikimedia\Rdbms\IResultWrapper;
* Variant of QueryPage which uses a gallery to output results, thus
* suited for reports generating images
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
* @author Rob Church <robchur@gmail.com>
diff --git a/includes/specialpage/PageQueryPage.php b/includes/specialpage/PageQueryPage.php
index bac7c1dd595e..6ba72f25e0cf 100644
--- a/includes/specialpage/PageQueryPage.php
+++ b/includes/specialpage/PageQueryPage.php
@@ -27,7 +27,7 @@ use Wikimedia\Rdbms\IResultWrapper;
/**
* Variant of QueryPage which formats the result as a simple link to the page
*
- * @stable for subclassing
+ * @stable to extend
* @ingroup SpecialPage
*/
abstract class PageQueryPage extends QueryPage {
diff --git a/includes/specialpage/QueryPage.php b/includes/specialpage/QueryPage.php
index 9b06d492c1a7..cdb4d562213a 100644
--- a/includes/specialpage/QueryPage.php
+++ b/includes/specialpage/QueryPage.php
@@ -32,7 +32,7 @@ use Wikimedia\Rdbms\IResultWrapper;
* we factor out some of the functionality into a superclass, and let
* subclasses derive from it.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/RedirectSpecialArticle.php b/includes/specialpage/RedirectSpecialArticle.php
index 0f5580b650c6..5d87ed0cb911 100644
--- a/includes/specialpage/RedirectSpecialArticle.php
+++ b/includes/specialpage/RedirectSpecialArticle.php
@@ -82,7 +82,7 @@
* }
* @endcode
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/RedirectSpecialPage.php b/includes/specialpage/RedirectSpecialPage.php
index e8df55a716f1..f1d57c24963b 100644
--- a/includes/specialpage/RedirectSpecialPage.php
+++ b/includes/specialpage/RedirectSpecialPage.php
@@ -24,7 +24,7 @@
/**
* Shortcut to construct a special page alias.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/SpecialPage.php b/includes/specialpage/SpecialPage.php
index 1db45098cf61..c37fd67b36f8 100644
--- a/includes/specialpage/SpecialPage.php
+++ b/includes/specialpage/SpecialPage.php
@@ -34,7 +34,7 @@ use MediaWiki\Navigation\PrevNextNavigationRenderer;
* Includes some static functions for handling the special page list deprecated
* in favor of SpecialPageFactory.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/SpecialRedirectToSpecial.php b/includes/specialpage/SpecialRedirectToSpecial.php
index 4d3cf4ed7def..c6d3d3603529 100644
--- a/includes/specialpage/SpecialRedirectToSpecial.php
+++ b/includes/specialpage/SpecialRedirectToSpecial.php
@@ -22,7 +22,7 @@
*/
/**
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/SpecialRedirectWithAction.php b/includes/specialpage/SpecialRedirectWithAction.php
index e955f033b433..26a9bf128e9a 100644
--- a/includes/specialpage/SpecialRedirectWithAction.php
+++ b/includes/specialpage/SpecialRedirectWithAction.php
@@ -17,7 +17,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * @stable for subclassing
+ * @stable to extend
*
* @file
* @ingroup SpecialPage
diff --git a/includes/specialpage/UnlistedSpecialPage.php b/includes/specialpage/UnlistedSpecialPage.php
index 030eba1290c3..4a47abfc44cb 100644
--- a/includes/specialpage/UnlistedSpecialPage.php
+++ b/includes/specialpage/UnlistedSpecialPage.php
@@ -24,7 +24,7 @@
/**
* Shortcut to construct a special page which is unlisted by default.
*
- * @stable for subclassing
+ * @stable to extend
*
* @ingroup SpecialPage
*/
diff --git a/includes/specialpage/WantedQueryPage.php b/includes/specialpage/WantedQueryPage.php
index c67533a606b8..5a2a740499a8 100644
--- a/includes/specialpage/WantedQueryPage.php
+++ b/includes/specialpage/WantedQueryPage.php
@@ -27,7 +27,7 @@ use Wikimedia\Rdbms\IResultWrapper;
/**
* Class definition for a wanted query page like
* WantedPages, WantedTemplates, etc
- * @stable for subclassing
+ * @stable to extend
* @ingroup SpecialPage
*/
abstract class WantedQueryPage extends QueryPage {
diff --git a/includes/upload/UploadBase.php b/includes/upload/UploadBase.php
index 96b93bfb7915..3a0c685c2a30 100644
--- a/includes/upload/UploadBase.php
+++ b/includes/upload/UploadBase.php
@@ -36,7 +36,7 @@ use MediaWiki\User\UserIdentity;
* UploadBase and subclasses are the backend of MediaWiki's file uploads.
* The frontends are formed by ApiUpload and SpecialUpload.
*
- * @stable for subclassing
+ * @stable to extend
*
* @author Brion Vibber
* @author Bryan Tong Minh