aboutsummaryrefslogtreecommitdiffstats
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/DerivativeRequest.php4
-rw-r--r--includes/FauxRequest.php4
-rw-r--r--includes/MWTimestamp.php2
-rw-r--r--includes/RawMessage.php2
-rw-r--r--includes/Revision/MutableRevisionRecord.php4
-rw-r--r--includes/Revision/RevisionSlots.php4
-rw-r--r--includes/Status.php2
-rw-r--r--includes/StubObject.php4
-rw-r--r--includes/api/ApiHelpParamValueMessage.php2
-rw-r--r--includes/api/ApiMessage.php2
-rw-r--r--includes/api/ApiRawMessage.php2
-rw-r--r--includes/cache/dependency/FileDependency.php3
-rw-r--r--includes/config/GlobalVarConfig.php6
-rw-r--r--includes/content/CssContent.php2
-rw-r--r--includes/content/JavaScriptContent.php2
-rw-r--r--includes/content/TextContent.php2
-rw-r--r--includes/content/WikitextContent.php6
-rw-r--r--includes/context/DerivativeContext.php2
-rw-r--r--includes/exception/ErrorPageError.php4
-rw-r--r--includes/exception/MWException.php2
-rw-r--r--includes/language/Message.php2
-rw-r--r--includes/libs/HtmlArmor.php4
-rw-r--r--includes/libs/Message/DataMessageValue.php4
-rw-r--r--includes/libs/Message/ListParam.php4
-rw-r--r--includes/libs/Message/MessageValue.php4
-rw-r--r--includes/libs/Message/ScalarParam.php4
-rw-r--r--includes/libs/StaticArrayWriter.php1
-rw-r--r--includes/libs/StatusValue.php1
-rw-r--r--includes/libs/objectcache/CachedBagOStuff.php2
-rw-r--r--includes/libs/objectcache/HashBagOStuff.php2
-rw-r--r--includes/mail/MailAddress.php4
-rw-r--r--includes/parser/StripState.php3
-rw-r--r--includes/session/SessionId.php4
-rw-r--r--includes/session/SessionInfo.php5
-rw-r--r--includes/title/TitleValue.php4
-rw-r--r--includes/user/LoggedOutEditToken.php6
-rw-r--r--includes/user/UserIdentityValue.php4
-rw-r--r--includes/utils/BatchRowIterator.php16
38 files changed, 130 insertions, 5 deletions
diff --git a/includes/DerivativeRequest.php b/includes/DerivativeRequest.php
index e2d59b080cbf..704afeb45289 100644
--- a/includes/DerivativeRequest.php
+++ b/includes/DerivativeRequest.php
@@ -28,6 +28,8 @@
* (POST or GET) and use the base request for the remaining stuff
* (cookies, session and headers).
*
+ * @newable
+ *
* @ingroup HTTP
* @since 1.19
*/
@@ -36,6 +38,8 @@ class DerivativeRequest extends FauxRequest {
private $ip;
/**
+ * @stable for calling
+ *
* @param WebRequest $base
* @param array $data Array of *non*-urlencoded key => value pairs, the
* fake GET/POST values
diff --git a/includes/FauxRequest.php b/includes/FauxRequest.php
index 7ae0c234d117..4b5349e9e036 100644
--- a/includes/FauxRequest.php
+++ b/includes/FauxRequest.php
@@ -28,6 +28,8 @@ use MediaWiki\Session\SessionManager;
/**
* WebRequest clone which takes values from a provided array.
*
+ * @newable
+ *
* @ingroup HTTP
*/
class FauxRequest extends WebRequest {
@@ -36,6 +38,8 @@ class FauxRequest extends WebRequest {
protected $cookies = [];
/**
+ * @stable for calling
+ *
* @param array $data Array of *non*-urlencoded key => value pairs, the
* fake GET/POST values
* @param bool $wasPosted Whether to treat the data as POST
diff --git a/includes/MWTimestamp.php b/includes/MWTimestamp.php
index 341258c1dbd7..3a6aff591ac8 100644
--- a/includes/MWTimestamp.php
+++ b/includes/MWTimestamp.php
@@ -27,6 +27,8 @@ use Wikimedia\Timestamp\ConvertibleTimestamp;
* Library for creating and parsing MW-style timestamps. Based on the JS
* library that does the same thing.
*
+ * @newable
+ *
* @since 1.20
*/
class MWTimestamp extends ConvertibleTimestamp {
diff --git a/includes/RawMessage.php b/includes/RawMessage.php
index 9a0d947dfddd..fcee4b2c644d 100644
--- a/includes/RawMessage.php
+++ b/includes/RawMessage.php
@@ -29,6 +29,7 @@
* All other functionality (parsing, escaping, etc.)
* is preserved.
*
+ * @newable
* @since 1.21
*/
class RawMessage extends Message {
@@ -37,6 +38,7 @@ class RawMessage extends Message {
* Call the parent constructor, then store the key as
* the message.
*
+ * @stable for calling
* @see Message::__construct
*
* @param string $text Message to use.
diff --git a/includes/Revision/MutableRevisionRecord.php b/includes/Revision/MutableRevisionRecord.php
index 3259b7d5b27f..a56db01b0f20 100644
--- a/includes/Revision/MutableRevisionRecord.php
+++ b/includes/Revision/MutableRevisionRecord.php
@@ -36,6 +36,8 @@ use Wikimedia\Assert\Assert;
* Mutable RevisionRecord implementation, for building new revision entries programmatically.
* Provides setters for all fields.
*
+ * @newable
+ *
* @since 1.31
* @since 1.32 Renamed from MediaWiki\Storage\MutableRevisionRecord
* @property MutableRevisionSlots $mSlots
@@ -71,6 +73,8 @@ class MutableRevisionRecord extends RevisionRecord {
* @note Avoid calling this constructor directly. Use the appropriate methods
* in RevisionStore instead.
*
+ * @stable for calling.
+ *
* @param Title $title The title of the page this Revision is associated with.
* @param bool|string $dbDomain DB domain of the relevant wiki or false for the current one.
*
diff --git a/includes/Revision/RevisionSlots.php b/includes/Revision/RevisionSlots.php
index 8db9fb370912..81e48fb46450 100644
--- a/includes/Revision/RevisionSlots.php
+++ b/includes/Revision/RevisionSlots.php
@@ -33,6 +33,8 @@ use Wikimedia\Assert\Assert;
* If audience checks are desired, use RevisionRecord::getSlot() or RevisionRecord::getContent()
* instead.
*
+ * @newable
+ *
* @since 1.31
* @since 1.32 Renamed from MediaWiki\Storage\RevisionSlots
*/
@@ -42,6 +44,8 @@ class RevisionSlots {
protected $slots;
/**
+ * @stable for calling.
+ *
* @param SlotRecord[]|callable $slots SlotRecords,
* or a callback that returns such a structure.
*/
diff --git a/includes/Status.php b/includes/Status.php
index e201e72de585..5a5ac1117731 100644
--- a/includes/Status.php
+++ b/includes/Status.php
@@ -38,6 +38,8 @@ use MediaWiki\MediaWikiServices;
* unconditionally, i.e. both on success and on failure -- so that the
* developer of the calling code is reminded that the function can fail, and
* so that a lack of error-handling will be explicit.
+ *
+ * @newable
*/
class Status extends StatusValue {
/** @var callable|false */
diff --git a/includes/StubObject.php b/includes/StubObject.php
index 4d2efdc56c18..24a7c82a91dd 100644
--- a/includes/StubObject.php
+++ b/includes/StubObject.php
@@ -41,6 +41,8 @@ use Wikimedia\ObjectFactory;
* resort, you can use StubObject::isRealObject() to break the loop, but as a
* general rule, the stub object mechanism should be transparent, and code
* which refers to it should be kept to a minimum.
+ *
+ * @newable
*/
class StubObject {
/** @var null|string */
@@ -56,6 +58,8 @@ class StubObject {
protected $params;
/**
+ * @stable for calling
+ *
* @param string|null $global Name of the global variable.
* @param string|callable|null $class Name of the class of the real object
* or a factory function to call
diff --git a/includes/api/ApiHelpParamValueMessage.php b/includes/api/ApiHelpParamValueMessage.php
index 5e81b07c71e8..35b990e3d82e 100644
--- a/includes/api/ApiHelpParamValueMessage.php
+++ b/includes/api/ApiHelpParamValueMessage.php
@@ -27,6 +27,7 @@
* include markup wikitext while still keeping the
* 'APIGetParamDescriptionMessages' hook simple.
*
+ * @newable
* @since 1.25
* @ingroup API
*/
@@ -38,6 +39,7 @@ class ApiHelpParamValueMessage extends Message {
/**
* @see Message::__construct
+ * @stable for calling
*
* @param string $paramValue Parameter value being documented
* @param string $text Message to use.
diff --git a/includes/api/ApiMessage.php b/includes/api/ApiMessage.php
index 6a8b7d0aed39..254cdcde526e 100644
--- a/includes/api/ApiMessage.php
+++ b/includes/api/ApiMessage.php
@@ -20,6 +20,7 @@
/**
* Extension of Message implementing IApiMessage
+ * @newable
* @since 1.25
* @ingroup API
*/
@@ -32,6 +33,7 @@ class ApiMessage extends Message implements IApiMessage {
* This returns $msg if it's an IApiMessage, calls 'new ApiRawMessage' if
* $msg is a RawMessage, or calls 'new ApiMessage' in all other cases.
*
+ * @stable for calling
* @param Message|RawMessage|array|string $msg
* @param string|null $code
* @param array|null $data
diff --git a/includes/api/ApiRawMessage.php b/includes/api/ApiRawMessage.php
index ed3537a2b6c0..bedeff3243d9 100644
--- a/includes/api/ApiRawMessage.php
+++ b/includes/api/ApiRawMessage.php
@@ -20,6 +20,7 @@
/**
* Extension of RawMessage implementing IApiMessage
+ * @newable
* @since 1.25
* @ingroup API
*/
@@ -27,6 +28,7 @@ class ApiRawMessage extends RawMessage implements IApiMessage {
use ApiMessageTrait;
/**
+ * @stable for calling
* @param RawMessage|string|array $msg
* - RawMessage: is cloned
* - array: first element is $key, rest are $params to RawMessage::__construct
diff --git a/includes/cache/dependency/FileDependency.php b/includes/cache/dependency/FileDependency.php
index ee956f424110..8290e1841396 100644
--- a/includes/cache/dependency/FileDependency.php
+++ b/includes/cache/dependency/FileDependency.php
@@ -22,6 +22,7 @@
*/
/**
+ * @newable
* @ingroup Cache
*/
class FileDependency extends CacheDependency {
@@ -31,6 +32,8 @@ class FileDependency extends CacheDependency {
/**
* Create a file dependency
*
+ * @stable for calling
+ *
* @param string $filename The name of the file, preferably fully qualified
* @param null|bool|int $timestamp The unix last modified timestamp, or false if the
* file does not exist. If omitted, the timestamp will be loaded from
diff --git a/includes/config/GlobalVarConfig.php b/includes/config/GlobalVarConfig.php
index 6295371984a0..1eefbff7c52d 100644
--- a/includes/config/GlobalVarConfig.php
+++ b/includes/config/GlobalVarConfig.php
@@ -23,6 +23,7 @@
/**
* Accesses configuration settings from $GLOBALS
*
+ * @newable
* @since 1.23
*/
class GlobalVarConfig implements Config {
@@ -41,6 +42,11 @@ class GlobalVarConfig implements Config {
return new GlobalVarConfig();
}
+ /**
+ * @stable for calling
+ *
+ * @param string $prefix
+ */
public function __construct( $prefix = 'wg' ) {
$this->prefix = $prefix;
}
diff --git a/includes/content/CssContent.php b/includes/content/CssContent.php
index e0a55f3fff32..7b1d11b13cc7 100644
--- a/includes/content/CssContent.php
+++ b/includes/content/CssContent.php
@@ -30,6 +30,7 @@ use MediaWiki\MediaWikiServices;
/**
* Content object for CSS pages.
*
+ * @newable
* @ingroup Content
*/
class CssContent extends TextContent {
@@ -40,6 +41,7 @@ class CssContent extends TextContent {
private $redirectTarget = false;
/**
+ * @stable for calling
* @param string $text CSS code.
* @param string $modelId the content content model
*/
diff --git a/includes/content/JavaScriptContent.php b/includes/content/JavaScriptContent.php
index 2ebb4777f0e9..04a9304e3223 100644
--- a/includes/content/JavaScriptContent.php
+++ b/includes/content/JavaScriptContent.php
@@ -30,6 +30,7 @@ use MediaWiki\MediaWikiServices;
/**
* Content for JavaScript pages.
*
+ * @newable
* @ingroup Content
*/
class JavaScriptContent extends TextContent {
@@ -40,6 +41,7 @@ class JavaScriptContent extends TextContent {
private $redirectTarget = false;
/**
+ * @stable for calling
* @param string $text JavaScript code.
* @param string $modelId the content model name
*/
diff --git a/includes/content/TextContent.php b/includes/content/TextContent.php
index 7fb8f01eecac..985d9e7cfdf0 100644
--- a/includes/content/TextContent.php
+++ b/includes/content/TextContent.php
@@ -32,6 +32,7 @@ use MediaWiki\MediaWikiServices;
*
* TextContent instances are immutable
*
+ * @newable
* @ingroup Content
*/
class TextContent extends AbstractContent {
@@ -42,6 +43,7 @@ class TextContent extends AbstractContent {
protected $mText;
/**
+ * @stable for calling
* @param string $text
* @param string $model_id
* @throws MWException
diff --git a/includes/content/WikitextContent.php b/includes/content/WikitextContent.php
index e827dffb9097..0b3a989900b5 100644
--- a/includes/content/WikitextContent.php
+++ b/includes/content/WikitextContent.php
@@ -31,6 +31,7 @@ use MediaWiki\MediaWikiServices;
/**
* Content object for wiki text pages.
*
+ * @newable
* @ingroup Content
*/
class WikitextContent extends TextContent {
@@ -47,6 +48,11 @@ class WikitextContent extends TextContent {
*/
private $previousParseStackTrace = null;
+ /**
+ * @stable for calling
+ *
+ * @param string $text
+ */
public function __construct( $text ) {
parent::__construct( $text, CONTENT_MODEL_WIKITEXT );
}
diff --git a/includes/context/DerivativeContext.php b/includes/context/DerivativeContext.php
index 062903289825..39e9f416f137 100644
--- a/includes/context/DerivativeContext.php
+++ b/includes/context/DerivativeContext.php
@@ -25,6 +25,7 @@ use MediaWiki\MediaWikiServices;
* but allow individual pieces of context to be changed locally
* eg: A ContextSource that can inherit from the main RequestContext but have
* a different Title instance set on it.
+ * @newable
* @since 1.19
*/
class DerivativeContext extends ContextSource implements MutableContext {
@@ -74,6 +75,7 @@ class DerivativeContext extends ContextSource implements MutableContext {
private $timing;
/**
+ * @stable for calling
* @param IContextSource $context Context to inherit from
*/
public function __construct( IContextSource $context ) {
diff --git a/includes/exception/ErrorPageError.php b/includes/exception/ErrorPageError.php
index 114219719e7e..289688e65d43 100644
--- a/includes/exception/ErrorPageError.php
+++ b/includes/exception/ErrorPageError.php
@@ -21,6 +21,8 @@
/**
* An error page which can definitely be safely rendered using the OutputPage.
*
+ * @newable
+ *
* @since 1.7
* @ingroup Exception
*/
@@ -32,6 +34,8 @@ class ErrorPageError extends MWException implements ILocalizedException {
/**
* Note: these arguments are keys into wfMessage(), not text!
*
+ * @stable for calling
+ *
* @param string|Message $title Message key (string) for page title, or a Message object
* @param string|Message $msg Message key (string) for error text, or a Message object
* @param array $params Array with parameters to wfMessage()
diff --git a/includes/exception/MWException.php b/includes/exception/MWException.php
index 3c066481600d..77f79f7b93f8 100644
--- a/includes/exception/MWException.php
+++ b/includes/exception/MWException.php
@@ -21,6 +21,8 @@
/**
* MediaWiki exception
*
+ * @newable
+ *
* @ingroup Exception
*/
class MWException extends Exception {
diff --git a/includes/language/Message.php b/includes/language/Message.php
index 60a5753809f3..cc4fbcb54b20 100644
--- a/includes/language/Message.php
+++ b/includes/language/Message.php
@@ -155,6 +155,7 @@ use MediaWiki\MediaWikiServices;
* @see https://www.mediawiki.org/wiki/Localisation
*
* @since 1.17
+ * @newable
* @ingroup Language
*/
class Message implements MessageSpecifier, Serializable {
@@ -238,6 +239,7 @@ class Message implements MessageSpecifier, Serializable {
protected $message;
/**
+ * @stable for calling
* @since 1.17
* @param string|string[]|MessageSpecifier $key Message key, or array of
* message keys to try and use the first non-empty message for, or a
diff --git a/includes/libs/HtmlArmor.php b/includes/libs/HtmlArmor.php
index 6e6ad7c9b42c..2bacf978404f 100644
--- a/includes/libs/HtmlArmor.php
+++ b/includes/libs/HtmlArmor.php
@@ -23,6 +23,8 @@
/**
* Marks HTML that shouldn't be escaped
*
+ * @newable
+ *
* @since 1.28
*/
class HtmlArmor {
@@ -33,6 +35,8 @@ class HtmlArmor {
private $value;
/**
+ * @stable for calling
+ *
* @param string|null $value
*/
public function __construct( $value ) {
diff --git a/includes/libs/Message/DataMessageValue.php b/includes/libs/Message/DataMessageValue.php
index 686b2ed4bfd9..4bec3ad5893b 100644
--- a/includes/libs/Message/DataMessageValue.php
+++ b/includes/libs/Message/DataMessageValue.php
@@ -17,6 +17,8 @@ namespace Wikimedia\Message;
* `[ 0 => new ScalarParam( ParamType::TEXT, 1 ), 1 => new ScalarParam( ParamType::TEXT, 10 ) ]`.
*
* DataMessageValues are pure value objects and are safely newable.
+ *
+ * @newable
*/
class DataMessageValue extends MessageValue {
/** @var string */
@@ -26,6 +28,8 @@ class DataMessageValue extends MessageValue {
private $data;
/**
+ * @stable for calling
+ *
* @param string $key
* @param (MessageParam|MessageValue|string|int|float)[] $params
* @param string|null $code String representing the concept behind
diff --git a/includes/libs/Message/ListParam.php b/includes/libs/Message/ListParam.php
index 7f7d19865ac2..68f4489e9970 100644
--- a/includes/libs/Message/ListParam.php
+++ b/includes/libs/Message/ListParam.php
@@ -6,11 +6,15 @@ namespace Wikimedia\Message;
* Value object representing a message parameter that consists of a list of values.
*
* Message parameter classes are pure value objects and are safely newable.
+ *
+ * @newable
*/
class ListParam extends MessageParam {
private $listType;
/**
+ * @stable for calling.
+ *
* @param string $listType One of the ListType constants.
* @param (MessageParam|MessageValue|string|int|float)[] $elements Values in the list.
* Values that are not instances of MessageParam are wrapped using ParamType::TEXT.
diff --git a/includes/libs/Message/MessageValue.php b/includes/libs/Message/MessageValue.php
index 78e3c22cb463..746dbb2e1474 100644
--- a/includes/libs/Message/MessageValue.php
+++ b/includes/libs/Message/MessageValue.php
@@ -10,6 +10,8 @@ namespace Wikimedia\Message;
* IMessageFormatterFactory.
*
* MessageValues are pure value objects and are safely newable.
+ *
+ * @newable
*/
class MessageValue {
/** @var string */
@@ -19,6 +21,8 @@ class MessageValue {
private $params;
/**
+ * @stable for calling
+ *
* @param string $key
* @param (MessageParam|MessageValue|string|int|float)[] $params Values that are not instances
* of MessageParam are wrapped using ParamType::TEXT.
diff --git a/includes/libs/Message/ScalarParam.php b/includes/libs/Message/ScalarParam.php
index ea4c9a02019a..7484561beaaa 100644
--- a/includes/libs/Message/ScalarParam.php
+++ b/includes/libs/Message/ScalarParam.php
@@ -6,11 +6,15 @@ namespace Wikimedia\Message;
* Value object representing a message parameter holding a single value.
*
* Message parameter classes are pure value objects and are safely newable.
+ *
+ * @newable
*/
class ScalarParam extends MessageParam {
/**
* Construct a text parameter
*
+ * @stable for calling.
+ *
* @param string $type One of the ParamType constants.
* @param string|int|float|MessageValue $value
*/
diff --git a/includes/libs/StaticArrayWriter.php b/includes/libs/StaticArrayWriter.php
index f5613681bc54..79a3e6542110 100644
--- a/includes/libs/StaticArrayWriter.php
+++ b/includes/libs/StaticArrayWriter.php
@@ -21,6 +21,7 @@ namespace Wikimedia;
/**
* Format a static PHP array to be written to a file
*
+ * @newable
* @since 1.32
*/
class StaticArrayWriter {
diff --git a/includes/libs/StatusValue.php b/includes/libs/StatusValue.php
index ffb54e01912a..1603acb490ae 100644
--- a/includes/libs/StatusValue.php
+++ b/includes/libs/StatusValue.php
@@ -37,6 +37,7 @@
*
* The use of Message objects should be avoided when serializability is needed.
*
+ * @newable
* @since 1.25
*/
class StatusValue {
diff --git a/includes/libs/objectcache/CachedBagOStuff.php b/includes/libs/objectcache/CachedBagOStuff.php
index c27e0ef224dc..e2d63076d580 100644
--- a/includes/libs/objectcache/CachedBagOStuff.php
+++ b/includes/libs/objectcache/CachedBagOStuff.php
@@ -31,6 +31,7 @@
* * Locks go to the backend cache (with MultiWriteBagOStuff, it would wind
* up going to the HashBagOStuff used for the in-memory cache).
*
+ * @newable
* @ingroup Cache
*/
class CachedBagOStuff extends BagOStuff {
@@ -40,6 +41,7 @@ class CachedBagOStuff extends BagOStuff {
protected $procCache;
/**
+ * @stable for calling
* @param BagOStuff $backend Permanent backend to use
* @param array $params Parameters for HashBagOStuff
*/
diff --git a/includes/libs/objectcache/HashBagOStuff.php b/includes/libs/objectcache/HashBagOStuff.php
index 8a0a6b78da73..30ae66ce5747 100644
--- a/includes/libs/objectcache/HashBagOStuff.php
+++ b/includes/libs/objectcache/HashBagOStuff.php
@@ -26,6 +26,7 @@
*
* Data will not persist and is not shared with other processes.
*
+ * @newable
* @ingroup Cache
*/
class HashBagOStuff extends MediumSpecificBagOStuff {
@@ -45,6 +46,7 @@ class HashBagOStuff extends MediumSpecificBagOStuff {
public const KEY_CAS = 2;
/**
+ * @stable for calling
* @param array $params Additional parameters include:
* - maxKeys : only allow this many keys (using oldest-first eviction)
* @codingStandardsIgnoreStart
diff --git a/includes/mail/MailAddress.php b/includes/mail/MailAddress.php
index 1a5d08ac2a2c..3816a2050a30 100644
--- a/includes/mail/MailAddress.php
+++ b/includes/mail/MailAddress.php
@@ -28,6 +28,8 @@
* Stores a single person's name and email address.
* These are passed in via the constructor, and will be returned in SMTP
* header format when requested.
+ *
+ * @newable
*/
class MailAddress {
/**
@@ -46,6 +48,8 @@ class MailAddress {
public $address;
/**
+ * @stable for calling
+ *
* @param string $address String with an email address
* @param string|null $name Human-readable name if a string address is given
* @param string|null $realName Human-readable real name if a string address is given
diff --git a/includes/parser/StripState.php b/includes/parser/StripState.php
index 9623001de979..ca3d5c500f7d 100644
--- a/includes/parser/StripState.php
+++ b/includes/parser/StripState.php
@@ -23,6 +23,7 @@
/**
* @todo document, briefly.
+ * @newable
* @ingroup Parser
*/
class StripState {
@@ -40,6 +41,8 @@ class StripState {
protected $sizeLimit = 5000000;
/**
+ * @stable for calling
+ *
* @param Parser|null $parser
* @param array $options
*/
diff --git a/includes/session/SessionId.php b/includes/session/SessionId.php
index c218351701f2..8d5a452fc7d4 100644
--- a/includes/session/SessionId.php
+++ b/includes/session/SessionId.php
@@ -32,6 +32,8 @@ namespace MediaWiki\Session;
* can't just hold the ID as a string because we need to be able to update the
* ID when SessionBackend::resetId() is called.
*
+ * @newable
+ *
* @ingroup Session
* @since 1.27
*/
@@ -40,6 +42,8 @@ final class SessionId {
private $id;
/**
+ * @stable for calling
+ *
* @param string $id
*/
public function __construct( $id ) {
diff --git a/includes/session/SessionInfo.php b/includes/session/SessionInfo.php
index c7822d01af9f..c6901768f9a3 100644
--- a/includes/session/SessionInfo.php
+++ b/includes/session/SessionInfo.php
@@ -27,6 +27,9 @@ namespace MediaWiki\Session;
* Value object returned by SessionProvider
*
* This holds the data necessary to construct a Session.
+ * May require services to be injected into the constructor.
+ *
+ * @newable
*
* @ingroup Session
* @since 1.27
@@ -69,6 +72,8 @@ class SessionInfo {
private $providerMetadata = null;
/**
+ * @stable for calling
+ *
* @param int $priority Session priority
* @param array $data
* - provider: (SessionProvider|null) If not given, the provider will be
diff --git a/includes/title/TitleValue.php b/includes/title/TitleValue.php
index 6a61710df4b5..9d7f465dd0b4 100644
--- a/includes/title/TitleValue.php
+++ b/includes/title/TitleValue.php
@@ -31,6 +31,8 @@ use Wikimedia\Assert\ParameterTypeException;
* @note In contrast to Title, this is designed to be a plain value object. That is,
* it is immutable, does not use global state, and causes no side effects.
*
+ * @newable
+ *
* @see https://www.mediawiki.org/wiki/Requests_for_comment/TitleValue
* @since 1.23
*/
@@ -107,6 +109,8 @@ class TitleValue implements LinkTarget {
* either from a database entry, or by a TitleParser. For constructing a TitleValue from user
* input or external sources, use a TitleParser.
*
+ * @stable for calling
+ *
* @param int $namespace The namespace ID. This is not validated.
* @param string $title The page title in either DBkey or text form. No normalization is applied
* beyond underscore/space conversion.
diff --git a/includes/user/LoggedOutEditToken.php b/includes/user/LoggedOutEditToken.php
index 5444a51fc66a..cc09e7079c73 100644
--- a/includes/user/LoggedOutEditToken.php
+++ b/includes/user/LoggedOutEditToken.php
@@ -30,9 +30,15 @@ use MediaWiki\Session\Token;
* (i.e. the API) doesn't have to have so many special cases for anon edit
* tokens.
*
+ * @newable
+ *
* @since 1.27
*/
class LoggedOutEditToken extends Token {
+
+ /**
+ * @stable for calling
+ */
public function __construct() {
parent::__construct( '', '', false );
}
diff --git a/includes/user/UserIdentityValue.php b/includes/user/UserIdentityValue.php
index 800ac760a5f4..a4b21599aa26 100644
--- a/includes/user/UserIdentityValue.php
+++ b/includes/user/UserIdentityValue.php
@@ -27,6 +27,8 @@ use Wikimedia\Assert\Assert;
/**
* Value object representing a user's identity.
*
+ * @newable
+ *
* @since 1.31
*/
class UserIdentityValue implements UserIdentity {
@@ -47,6 +49,8 @@ class UserIdentityValue implements UserIdentity {
private $actor;
/**
+ * @stable for calling
+ *
* @param int $id
* @param string $name
* @param int $actor
diff --git a/includes/utils/BatchRowIterator.php b/includes/utils/BatchRowIterator.php
index 19340b05f266..06deb1f92b23 100644
--- a/includes/utils/BatchRowIterator.php
+++ b/includes/utils/BatchRowIterator.php
@@ -3,11 +3,6 @@
use Wikimedia\Rdbms\IDatabase;
/**
- * Allows iterating a large number of rows in batches transparently.
- * By default when iterated over returns the full query result as an
- * array of rows. Can be wrapped in RecursiveIteratorIterator to
- * collapse those arrays into a single stream of rows queried in batches.
- *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -26,6 +21,15 @@ use Wikimedia\Rdbms\IDatabase;
* @file
* @ingroup Maintenance
*/
+
+/**
+ * Allows iterating a large number of rows in batches transparently.
+ * By default when iterated over returns the full query result as an
+ * array of rows. Can be wrapped in RecursiveIteratorIterator to
+ * collapse those arrays into a single stream of rows queried in batches.
+ *
+ * @newable
+ */
class BatchRowIterator implements RecursiveIterator {
/**
@@ -85,6 +89,8 @@ class BatchRowIterator implements RecursiveIterator {
protected $options = [];
/**
+ * @stable for calling
+ *
* @param IDatabase $db The database to read from
* @param string|array $table The name or names of the table to read from
* @param string|array $primaryKey The name or names of the primary key columns