iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: https://phabricator.wikimedia.org/T299312
⚓ T299312 Deprecated: CLASS implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary)
Page MenuHomePhabricator

Deprecated: CLASS implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary)
Closed, ResolvedPublic

Description

Debian testing updated to PHP 8.1 recently, so now my development wiki is throwing deprecation warnings like this:

Deprecated: MapCacheLRU implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/taavi/src/mediawiki/includes/libs/MapCacheLRU.php on line 36

and

Deprecated: RawMessage implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /var/www/wiki/mediawiki/core/includes/RawMessage.php on line 35

See also: https://php.watch/versions/8.1/serializable-deprecated

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Krinkle triaged this task as Medium priority.Jan 18 2022, 7:32 PM
Krinkle lowered the priority of this task from Medium to Low.
Reedy renamed this task from Deprecated: MapCacheLRU implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) to Deprecated: CLASS implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary).Jan 20 2022, 8:02 PM
Reedy updated the task description. (Show Details)
Interface
    Serializable   
Usages in All Places  (92 usages found)
    /Users/reedy/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/213.6777.13/PhpStorm 2021.3 EAP.app/Contents/plugins/php/lib/php.jar  (5 usages found)
        stubs  (5 usages found)
            gmp  (1 usage found)
                gmp.php  (1 usage found)
                    799 class GMP implements Serializable
            SPL  (4 usages found)
                SPL.php  (2 usages found)
                    1530 class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable
                    1833 class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Countable
                SPL_c1.php  (2 usages found)
                    1042 class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable
                    2000 class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
    core  (35 usages found)
        includes  (12 usages found)
            language  (3 usages found)
                Message.php  (3 usages found)
                    139 class Message implements MessageSpecifier, Serializable {
                    253 * @see Serializable::serialize()
                    276 * @see Serializable::unserialize()
            libs  (6 usages found)
                rdbms  (2 usages found)
                    database  (2 usages found)
                        position  (2 usages found)
                            DBPrimaryPos.php  (2 usages found)
                                5 use Serializable;
                                15 interface DBPrimaryPos extends Serializable {
                GenericArrayObject.php  (2 usages found)
                    180 * @see Serializable::serialize
                    207 * @see Serializable::unserialize
                HashRing.php  (1 usage found)
                    44 class HashRing implements Serializable {
                MapCacheLRU.php  (1 usage found)
                    36 class MapCacheLRU implements ExpirationAwareness, Serializable {
            site  (3 usages found)
                Site.php  (3 usages found)
                    32 class Site implements Serializable {
                    667 * @see Serializable::serialize
                    692 * @see Serializable::unserialize
        tests  (1 usage found)
            phpunit  (1 usage found)
                includes  (1 usage found)
                    site  (1 usage found)
                        SiteTest.php  (1 usage found)
                            291 $this->assertInstanceOf( Serializable::class, $site );
        vendor  (22 usages found)
            doctrine  (4 usages found)
                instantiator  (4 usages found)
                    src  (4 usages found)
                        Doctrine  (4 usages found)
                            Instantiator  (4 usages found)
                                Instantiator.php  (4 usages found)
                                    11 use Serializable;
                                    25 * the method {@see \Serializable::unserialize()} when dealing with classes implementing
                                    26 * the {@see \Serializable} interface.
                                    108 is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER,
            phan  (9 usages found)
                phan  (9 usages found)
                    src  (9 usages found)
                        Phan  (9 usages found)
                            Language  (9 usages found)
                                FQSEN  (2 usages found)
                                    AbstractFQSEN.php  (2 usages found)
                                        10 use Serializable;
                                        17 abstract class AbstractFQSEN implements FQSEN, Serializable
                                EmptyUnionType.php  (1 usage found)
                                    1200 * @see \Serializable
                                FileRef.php  (1 usage found)
                                    13 class FileRef implements \Serializable
                                NamespaceMapEntry.php  (1 usage found)
                                    13 class NamespaceMapEntry implements \Serializable
                                UnionType.php  (4 usages found)
                                    60 use Serializable;
                                    91 class UnionType implements Serializable, Stringable
                                    4538 * @see \Serializable
                                    4554 * @see \Serializable
            squizlabs  (9 usages found)
                php_codesniffer  (9 usages found)
                    src  (9 usages found)
                        Standards  (9 usages found)
                            PEAR  (2 usages found)
                                Tests  (2 usages found)
                                    Classes  (2 usages found)
                                        ClassDeclarationUnitTest.1.inc  (2 usages found)
                                            45 Serializable,
                                            56 Serializable,
                            PSR12  (1 usage found)
                                Tests  (1 usage found)
                                    Classes  (1 usage found)
                                        AnonClassDeclarationUnitTest.inc  (1 usage found)
                                            8 \Serializable
                            PSR2  (6 usages found)
                                Tests  (6 usages found)
                                    Classes  (6 usages found)
                                        ClassDeclarationUnitTest.inc  (6 usages found)
                                            22 \Serializable {
                                            29 \Serializable
                                            45 \Serializable
                                            57 \Serializable
                                            64 \Serializable
                                            131 \Serializable
    extensions  (52 usages found)
        OAuth  (18 usages found)
            vendor  (18 usages found)
                phan  (9 usages found)
                    phan  (9 usages found)
                        src  (9 usages found)
                            Phan  (9 usages found)
                                Language  (9 usages found)
                                    FQSEN  (2 usages found)
                                        AbstractFQSEN.php  (2 usages found)
                                            10 use Serializable;
                                            17 abstract class AbstractFQSEN implements FQSEN, Serializable
                                    EmptyUnionType.php  (1 usage found)
                                        1168 * @see \Serializable
                                    FileRef.php  (1 usage found)
                                        13 class FileRef implements \Serializable
                                    NamespaceMapEntry.php  (1 usage found)
                                        13 class NamespaceMapEntry implements \Serializable
                                    UnionType.php  (4 usages found)
                                        57 use Serializable;
                                        82 class UnionType implements Serializable
                                        4446 * @see \Serializable
                                        4462 * @see \Serializable
                squizlabs  (9 usages found)
                    php_codesniffer  (9 usages found)
                        src  (9 usages found)
                            Standards  (9 usages found)
                                PEAR  (2 usages found)
                                    Tests  (2 usages found)
                                        Classes  (2 usages found)
                                            ClassDeclarationUnitTest.1.inc  (2 usages found)
                                                45 Serializable,
                                                56 Serializable,
                                PSR12  (1 usage found)
                                    Tests  (1 usage found)
                                        Classes  (1 usage found)
                                            AnonClassDeclarationUnitTest.inc  (1 usage found)
                                                8 \Serializable
                                PSR2  (6 usages found)
                                    Tests  (6 usages found)
                                        Classes  (6 usages found)
                                            ClassDeclarationUnitTest.inc  (6 usages found)
                                                22 \Serializable {
                                                29 \Serializable
                                                45 \Serializable
                                                57 \Serializable
                                                64 \Serializable
                                                131 \Serializable
        Wikibase  (30 usages found)
            lib  (30 usages found)
                packages  (30 usages found)
                    wikibase  (30 usages found)
                        changes  (8 usages found)
                            src  (8 usages found)
                                EntityDiffChangedAspects.php  (4 usages found)
                                    6 use Serializable;
                                    18 class EntityDiffChangedAspects implements Serializable {
                                    139 * @see Serializable::serialize
                                    148 * @see Serializable::unserialize
                                RepoRevisionIdentifier.php  (4 usages found)
                                    7 use Serializable;
                                    17 class RepoRevisionIdentifier implements Serializable {
                                    79 * @see Serializable::serialize
                                    88 * @see Serializable::unserialize
                        data-model  (22 usages found)
                            src  (20 usages found)
                                Entity  (8 usages found)
                                    EntityId.php  (2 usages found)
                                        5 use Serializable;
                                        10 interface EntityId extends Serializable {
                                    EntityIdValue.php  (2 usages found)
                                        27 * @see Serializable::serialize
                                        40 * @see Serializable::unserialize
                                    ItemId.php  (2 usages found)
                                        63 * @see Serializable::serialize
                                        74 * @see Serializable::unserialize
                                    NumericPropertyId.php  (2 usages found)
                                        59 * @see Serializable::serialize
                                        68 * @see Serializable::unserialize
                                Snak  (8 usages found)
                                    PropertyValueSnak.php  (2 usages found)
                                        50 * @see Serializable::serialize
                                        61 * @see Serializable::unserialize
                                    Snak.php  (2 usages found)
                                        5 use Serializable;
                                        17 interface Snak extends Serializable, PropertyIdProvider {
                                    SnakList.php  (2 usages found)
                                        268 * @see Serializable::serialize
                                        277 * @see Serializable::unserialize
                                    SnakObject.php  (2 usages found)
                                        96 * @see Serializable::serialize
                                        107 * @see Serializable::unserialize
                                ReferenceList.php  (4 usages found)
                                    9 use Serializable;
                                    27 class ReferenceList implements Countable, IteratorAggregate, Serializable {
                                    225 * @see Serializable::serialize
                                    256 * @see Serializable::unserialize
                            tests  (2 usages found)
                                fixtures  (2 usages found)
                                    CustomEntityId.php  (2 usages found)
                                        16 * @see Serializable::serialize
                                        25 * @see Serializable::unserialize
        WikibaseLexeme  (2 usages found)
            src  (2 usages found)
                Domain  (2 usages found)
                    Model  (2 usages found)
                        LexemeId.php  (2 usages found)
                            56 * @see Serializable::serialize
                            65 * @see Serializable::unserialize
        WikibaseMediaInfo  (2 usages found)
            src  (2 usages found)
                DataModel  (2 usages found)
                    MediaInfoId.php  (2 usages found)
                        73 * @see Serializable::serialize
                        82 * @see Serializable::unserialize

Change 756964 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@master] Message/MapCacheLRU: Implement __(un)?serialize

https://gerrit.wikimedia.org/r/756964

Going to probably need patches to numerous more classes (as per the search)... But this patch and the one for T289879: Add type hints to implementers of built-in interfaces for PHP 8.1 compatibility ontop of HEAD of master gives an almost clean update.php run. Leaving just T299693: Memcached::cas(): Argument #4 ($expiration) must be of type int, int given currently

Targets
    Serializable   
Implementations of Serializable in  (125 usages found)
    /Users/reedy/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/221.3427.92/PhpStorm 2022.1 EAP.app/Contents/plugins/php/lib/php.jar  (8 usages found)
        stubs  (8 usages found)
            gmp  (1 usage found)
                gmp.php  (1 usage found)
                    799 class GMP implements Serializable
            SPL  (7 usages found)
                SPL.php  (3 usages found)
                    1530 class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable
                    1833 class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Countable
                    2106 class RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator
                SPL_c1.php  (4 usages found)
                    1049 class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable
                    1302 class SplQueue extends SplDoublyLinkedList
                    1342 class SplStack extends SplDoublyLinkedList
                    2027 class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
    /Users/reedy/PhpstormProjects/mediawiki/composer.phar/  (2 usages found)
        src  (1 usage found)
            Composer  (1 usage found)
                DependencyResolver  (1 usage found)
                    RuleWatchChain.php  (1 usage found)
                        24 class RuleWatchChain extends \SplDoublyLinkedList
        vendor  (1 usage found)
            symfony  (1 usage found)
                finder  (1 usage found)
                    Iterator  (1 usage found)
                        FilePathsIterator.php  (1 usage found)
                            25 class FilePathsIterator extends \ArrayIterator
    core  (49 usages found)
        includes  (14 usages found)
            api  (3 usages found)
                ApiHelpParamValueMessage.php  (1 usage found)
                    34 class ApiHelpParamValueMessage extends Message {
                ApiMessage.php  (1 usage found)
                    27 class ApiMessage extends Message implements IApiMessage {
                ApiRawMessage.php  (1 usage found)
                    27 class ApiRawMessage extends RawMessage implements IApiMessage {
            CommentFormatter  (1 usage found)
                StringCommentIterator.php  (1 usage found)
                    13 class StringCommentIterator extends ArrayIterator {
            language  (1 usage found)
                Message.php  (1 usage found)
                    139 class Message implements MessageSpecifier, Serializable {
            libs  (5 usages found)
                rdbms  (2 usages found)
                    database  (2 usages found)
                        position  (2 usages found)
                            DBPrimaryPos.php  (1 usage found)
                                15 interface DBPrimaryPos extends Serializable {
                            MySQLPrimaryPos.php  (1 usage found)
                                20 class MySQLPrimaryPos implements DBPrimaryPos {
                GenericArrayObject.php  (1 usage found)
                    35 abstract class GenericArrayObject extends ArrayObject {
                HashRing.php  (1 usage found)
                    44 class HashRing implements Serializable {
                MapCacheLRU.php  (1 usage found)
                    36 class MapCacheLRU implements ExpirationAwareness, Serializable {
            site  (3 usages found)
                MediaWikiSite.php  (1 usage found)
                    38 class MediaWikiSite extends Site {
                Site.php  (1 usage found)
                    32 class Site implements Serializable {
                SiteList.php  (1 usage found)
                    29 class SiteList extends GenericArrayObject {
            RawMessage.php  (1 usage found)
                35 class RawMessage extends Message {
        tests  (1 usage found)
            phpunit  (1 usage found)
                unit  (1 usage found)
                    includes  (1 usage found)
                        ListToggleTest.php  (1 usage found)
                            36 return new class( $key ) extends Message {
        vendor  (34 usages found)
            mediawiki  (1 usage found)
                phan-taint-check-plugin  (1 usage found)
                    src  (1 usage found)
                        LinksSet.php  (1 usage found)
                            18 class LinksSet extends Set {
            phan  (19 usages found)
                phan  (19 usages found)
                    src  (19 usages found)
                        Phan  (19 usages found)
                            Debug  (1 usage found)
                                DebugUnionType.php  (1 usage found)
                                    20 class DebugUnionType extends UnionType
                            Language  (16 usages found)
                                FQSEN  (9 usages found)
                                    AbstractFQSEN.php  (1 usage found)
                                        17 abstract class AbstractFQSEN implements FQSEN, Serializable
                                    FullyQualifiedClassConstantName.php  (1 usage found)
                                        10 class FullyQualifiedClassConstantName extends FullyQualifiedClassElement implements FullyQualifiedConstantName
                                    FullyQualifiedClassElement.php  (1 usage found)
                                        15 abstract class FullyQualifiedClassElement extends AbstractFQSEN
                                    FullyQualifiedClassName.php  (1 usage found)
                                        16 class FullyQualifiedClassName extends FullyQualifiedGlobalStructuralElement
                                    FullyQualifiedFunctionName.php  (1 usage found)
                                        15 class FullyQualifiedFunctionName extends FullyQualifiedGlobalStructuralElement implements FullyQualifiedFunctionLikeName
                                    FullyQualifiedGlobalConstantName.php  (1 usage found)
                                        10 class FullyQualifiedGlobalConstantName extends FullyQualifiedGlobalStructuralElement implements FullyQualifiedConstantName
                                    FullyQualifiedGlobalStructuralElement.php  (1 usage found)
                                        19 abstract class FullyQualifiedGlobalStructuralElement extends AbstractFQSEN
                                    FullyQualifiedMethodName.php  (1 usage found)
                                        10 class FullyQualifiedMethodName extends FullyQualifiedClassElement implements FullyQualifiedFunctionLikeName
                                    FullyQualifiedPropertyName.php  (1 usage found)
                                        10 class FullyQualifiedPropertyName extends FullyQualifiedClassElement
                                AnnotatedUnionType.php  (1 usage found)
                                    18 class AnnotatedUnionType extends UnionType
                                Context.php  (1 usage found)
                                    39 class Context extends FileRef
                                ElementContext.php  (1 usage found)
                                    15 class ElementContext extends Context
                                EmptyUnionType.php  (1 usage found)
                                    29 final class EmptyUnionType extends UnionType
                                FileRef.php  (1 usage found)
                                    13 class FileRef implements \Serializable
                                NamespaceMapEntry.php  (1 usage found)
                                    13 class NamespaceMapEntry implements \Serializable
                                UnionType.php  (1 usage found)
                                    91 class UnionType implements Serializable, Stringable
                            Library  (2 usages found)
                                Map.php  (1 usage found)
                                    30 class Map extends SplObjectStorage
                                Set.php  (1 usage found)
                                    33 class Set extends \SplObjectStorage
            php-parallel-lint  (1 usage found)
                php-parallel-lint  (1 usage found)
                    src  (1 usage found)
                        Settings.php  (1 usage found)
                            240 class ArrayIterator extends \ArrayIterator
            squizlabs  (12 usages found)
                php_codesniffer  (12 usages found)
                    src  (12 usages found)
                        Standards  (12 usages found)
                            PEAR  (2 usages found)
                                Tests  (2 usages found)
                                    Classes  (2 usages found)
                                        ClassDeclarationUnitTest.1.inc  (2 usages found)
                                            41 abstract class CodeSnifferFail
                                            52 abstract class CodeSnifferFail
                            PSR12  (1 usage found)
                                Tests  (1 usage found)
                                    Classes  (1 usage found)
                                        AnonClassDeclarationUnitTest.inc  (1 usage found)
                                            5 $instance2 = new class extends \Foo implements
                            PSR2  (7 usages found)
                                Tests  (7 usages found)
                                    Classes  (7 usages found)
                                        ClassDeclarationUnitTest.inc  (7 usages found)
                                            19 class ClassName extends  ParentClass  implements
                                            27 class ClassName extends ParentClass  implements \ArrayAccess,
                                            42 class ClassName extends ParentClass implements
                                            55 class ClassName extends ParentClass implements
                                            62 class ClassName extends ParentClass implements
                                            128 class ClassName implements
                                            147 $this->anonymous = new class extends ArrayObject
                            Squiz  (2 usages found)
                                Tests  (2 usages found)
                                    Classes  (2 usages found)
                                        ValidClassNameUnitTest.inc  (2 usages found)
                                            42 $this->anonymous = new class extends ArrayObject
                                            130 $this->anonymous = new class extends ArrayObject
            wmde  (1 usage found)
                hamcrest-html-matchers  (1 usage found)
                    src  (1 usage found)
                        XmlNodeRecursiveIterator.php  (1 usage found)
                            7 class XmlNodeRecursiveIterator extends \ArrayIterator {
    extensions  (66 usages found)
        BlueSpiceAuthors  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    PageAuthors  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceBookshelf  (1 usage found)
            src  (1 usage found)
                TreeNode.php  (1 usage found)
                    7 class TreeNode extends ArrayObject {
        BlueSpiceCategoryManager  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Page  (1 usage found)
                        Schema.php  (1 usage found)
                            8 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceConfigManager  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    ConfigManager  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Settings\Schema {
        BlueSpiceDistributionConnector  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Page  (1 usage found)
                        HitCounter  (1 usage found)
                            Schema.php  (1 usage found)
                                8 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceExpiry  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceExtendedSearch  (2 usages found)
            src  (2 usages found)
                Data  (1 usage found)
                    SearchHistory  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                Lookup.php  (1 usage found)
                    8 class Lookup extends \ArrayObject {
        BlueSpiceFlaggedRevsConnector  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceFoundation  (10 usages found)
            src  (10 usages found)
                Data  (10 usages found)
                    Categories  (1 usage found)
                        Schema.php  (1 usage found)
                            8 class Schema extends SchemaBase {
                    Categorylinks  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    Entity  (1 usage found)
                        Schema.php  (1 usage found)
                            10 class Schema extends \BlueSpice\Data\Schema {
                    Page  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    RecentChanges  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    Settings  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    Templatelinks  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    User  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    Watchlist  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
                    Schema.php  (1 usage found)
                        5 class Schema extends \ArrayObject {
        BlueSpiceNamespaceCSS  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpicePageAssignments  (2 usages found)
            src  (2 usages found)
                Data  (2 usages found)
                    Page  (1 usage found)
                        Schema.php  (1 usage found)
                            8 class Schema extends \BlueSpice\Data\Schema {
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceRating  (4 usages found)
            src  (4 usages found)
                Data  (4 usages found)
                    Item  (3 usages found)
                        Article  (1 usage found)
                            Schema.php  (1 usage found)
                                7 class Schema extends \BlueSpice\Rating\Data\Item\Schema {
                        ArticleLike  (1 usage found)
                            Schema.php  (1 usage found)
                                7 class Schema extends \BlueSpice\Rating\Data\Item\Schema {
                        Schema.php  (1 usage found)
                            7 abstract class Schema extends \BlueSpice\Data\Schema {
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceReaders  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceSMWConnector  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Ask  (1 usage found)
                        Schema.php  (1 usage found)
                            9 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceSocial  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Entity  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Entity\Schema {
        BlueSpiceTagCloud  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    TagCloud  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Schema {
        BlueSpiceWhoIsOnline  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    Schema.php  (1 usage found)
                        7 class Schema extends \BlueSpice\Data\Schema {
        ConfigManager  (1 usage found)
            src  (1 usage found)
                Data  (1 usage found)
                    ConfigManager  (1 usage found)
                        Schema.php  (1 usage found)
                            7 class Schema extends \BlueSpice\Data\Settings\Schema {
        LDAPAuthentication2  (1 usage found)
            src  (1 usage found)
                ExtraLoginFields.php  (1 usage found)
                    5 class ExtraLoginFields extends \ArrayObject {
        NaylorAMS  (1 usage found)
            includes  (1 usage found)
                ExtraLoginFields.php  (1 usage found)
                    4 class ExtraLoginFields extends \ArrayObject {
        SemanticWebBrowser  (1 usage found)
            lib  (1 usage found)
                EasyRdf  (1 usage found)
                    Sparql  (1 usage found)
                        Result.php  (1 usage found)
                            46 class EasyRdf_Sparql_Result extends ArrayIterator
        Wikibase  (20 usages found)
            lib  (19 usages found)
                includes  (1 usage found)
                    SettingsArray.php  (1 usage found)
                        36 class SettingsArray extends ArrayObject {
                packages  (18 usages found)
                    wikibase  (18 usages found)
                        changes  (2 usages found)
                            src  (2 usages found)
                                EntityDiffChangedAspects.php  (1 usage found)
                                    18 class EntityDiffChangedAspects implements Serializable {
                                RepoRevisionIdentifier.php  (1 usage found)
                                    17 class RepoRevisionIdentifier implements Serializable {
                        data-model  (15 usages found)
                            src  (14 usages found)
                                Entity  (5 usages found)
                                    EntityId.php  (1 usage found)
                                        10 interface EntityId extends Serializable {
                                    ItemId.php  (1 usage found)
                                        12 class ItemId extends SerializableEntityId implements Int32EntityId {
                                    NumericPropertyId.php  (1 usage found)
                                        11 class NumericPropertyId extends SerializableEntityId implements PropertyId, Int32EntityId {
                                    PropertyId.php  (1 usage found)
                                        8 interface PropertyId extends EntityId {
                                    SerializableEntityId.php  (1 usage found)
                                        11 abstract class SerializableEntityId implements EntityId {
                                Snak  (7 usages found)
                                    DerivedPropertyValueSnak.php  (1 usage found)
                                        30 class DerivedPropertyValueSnak extends PropertyValueSnak {
                                    PropertyNoValueSnak.php  (1 usage found)
                                        14 class PropertyNoValueSnak extends SnakObject {
                                    PropertySomeValueSnak.php  (1 usage found)
                                        14 class PropertySomeValueSnak extends SnakObject {
                                    PropertyValueSnak.php  (1 usage found)
                                        20 class PropertyValueSnak extends SnakObject {
                                    Snak.php  (1 usage found)
                                        17 interface Snak extends Serializable, PropertyIdProvider {
                                    SnakList.php  (1 usage found)
                                        20 class SnakList extends ArrayObject {
                                    SnakObject.php  (1 usage found)
                                        20 abstract class SnakObject implements Snak {
                                ByPropertyIdArray.php  (1 usage found)
                                    48 class ByPropertyIdArray extends ArrayObject {
                                ReferenceList.php  (1 usage found)
                                    27 class ReferenceList implements Countable, IteratorAggregate, Serializable {
                            tests  (1 usage found)
                                fixtures  (1 usage found)
                                    CustomEntityId.php  (1 usage found)
                                        13 class CustomEntityId extends SerializableEntityId {
                        federated-properties  (1 usage found)
                            src  (1 usage found)
                                FederatedPropertyId.php  (1 usage found)
                                    14 class FederatedPropertyId implements PropertyId {
            view  (1 usage found)
                src  (1 usage found)
                    Template  (1 usage found)
                        Template.php  (1 usage found)
                            18 class Template extends Message {
        WikibaseLexeme  (8 usages found)
            src  (8 usages found)
                Domain  (8 usages found)
                    DummyObjects  (4 usages found)
                        DummyFormId.php  (1 usage found)
                            10 class DummyFormId extends FormId {
                        DummySenseId.php  (1 usage found)
                            12 class DummySenseId extends SenseId {
                        NullFormId.php  (1 usage found)
                            12 class NullFormId extends FormId {
                        NullSenseId.php  (1 usage found)
                            14 class NullSenseId extends SenseId {
                    Model  (4 usages found)
                        FormId.php  (1 usage found)
                            15 class FormId extends LexemeSubEntityId {
                        LexemeId.php  (1 usage found)
                            18 class LexemeId extends SerializableEntityId implements Int32EntityId {
                        LexemeSubEntityId.php  (1 usage found)
                            16 abstract class LexemeSubEntityId extends SerializableEntityId {
                        SenseId.php  (1 usage found)
                            14 class SenseId extends LexemeSubEntityId {
        WikibaseMediaInfo  (2 usages found)
            src  (2 usages found)
                DataModel  (1 usage found)
                    MediaInfoId.php  (1 usage found)
                        19 class MediaInfoId extends SerializableEntityId implements Int32EntityId {
                Search  (1 usage found)
                    ASTQueryBuilder  (1 usage found)
                        FieldIterator.php  (1 usage found)
                            7 class FieldIterator extends ArrayIterator {
        WikibaseQualityConstraints  (1 usage found)
            .phan  (1 usage found)
                stubs  (1 usage found)
                    wikibaselexeme.php  (1 usage found)
                        36 class LexemeId extends EntityId {

Change 756964 merged by jenkins-bot:

[mediawiki/core@master] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/756964

Change 758504 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_37] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758504

Change 758505 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_36] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758505

Change 758806 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_35] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758806

Change 758806 merged by jenkins-bot:

[mediawiki/core@REL1_35] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758806

Change 758505 merged by jenkins-bot:

[mediawiki/core@REL1_36] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758505

Change 758504 merged by jenkins-bot:

[mediawiki/core@REL1_37] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758504

Change 758800 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@master] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758800

Numerous instances in Wikibase and also WikibaseLexeme and WikibaseMediaInfo

Interface
    Serializable   
Usages in Project and Libraries  (76 usages found)
    /Users/reedy/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/221.3427.92/PhpStorm 2022.1 EAP.app/Contents/plugins/php/lib/php.jar  (5 usages found)
        stubs  (5 usages found)
            gmp  (1 usage found)
                gmp.php  (1 usage found)
                    799 class GMP implements Serializable
            SPL  (4 usages found)
                SPL.php  (2 usages found)
                    1530 class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable
                    1833 class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Countable
                SPL_c1.php  (2 usages found)
                    1049 class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable
                    2027 class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
    core  (37 usages found)
        includes  (14 usages found)
            language  (5 usages found)
                Message.php  (5 usages found)
                    139 class Message implements MessageSpecifier, Serializable {
                    253 * @see Serializable::serialize()
                    262 * @see Serializable::serialize()
                    285 * @see Serializable::unserialize()
                    294 * @see Serializable::unserialize()
            libs  (6 usages found)
                rdbms  (2 usages found)
                    database  (2 usages found)
                        position  (2 usages found)
                            DBPrimaryPos.php  (2 usages found)
                                5 use Serializable;
                                15 interface DBPrimaryPos extends Serializable {
                GenericArrayObject.php  (2 usages found)
                    180 * @see Serializable::serialize
                    207 * @see Serializable::unserialize
                HashRing.php  (1 usage found)
                    44 class HashRing implements Serializable {
                MapCacheLRU.php  (1 usage found)
                    36 class MapCacheLRU implements ExpirationAwareness, Serializable {
            site  (3 usages found)
                Site.php  (3 usages found)
                    32 class Site implements Serializable {
                    667 * @see Serializable::serialize
                    692 * @see Serializable::unserialize
        tests  (1 usage found)
            phpunit  (1 usage found)
                includes  (1 usage found)
                    site  (1 usage found)
                        SiteTest.php  (1 usage found)
                            291 $this->assertInstanceOf( Serializable::class, $site );
        vendor  (22 usages found)
            doctrine  (4 usages found)
                instantiator  (4 usages found)
                    src  (4 usages found)
                        Doctrine  (4 usages found)
                            Instantiator  (4 usages found)
                                Instantiator.php  (4 usages found)
                                    11 use Serializable;
                                    25 * the method {@see \Serializable::unserialize()} when dealing with classes implementing
                                    26 * the {@see \Serializable} interface.
                                    108 is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER,
            phan  (9 usages found)
                phan  (9 usages found)
                    src  (9 usages found)
                        Phan  (9 usages found)
                            Language  (9 usages found)
                                FQSEN  (2 usages found)
                                    AbstractFQSEN.php  (2 usages found)
                                        10 use Serializable;
                                        17 abstract class AbstractFQSEN implements FQSEN, Serializable
                                EmptyUnionType.php  (1 usage found)
                                    1200 * @see \Serializable
                                FileRef.php  (1 usage found)
                                    13 class FileRef implements \Serializable
                                NamespaceMapEntry.php  (1 usage found)
                                    13 class NamespaceMapEntry implements \Serializable
                                UnionType.php  (4 usages found)
                                    60 use Serializable;
                                    91 class UnionType implements Serializable, Stringable
                                    4538 * @see \Serializable
                                    4554 * @see \Serializable
            squizlabs  (9 usages found)
                php_codesniffer  (9 usages found)
                    src  (9 usages found)
                        Standards  (9 usages found)
                            PEAR  (2 usages found)
                                Tests  (2 usages found)
                                    Classes  (2 usages found)
                                        ClassDeclarationUnitTest.1.inc  (2 usages found)
                                            45 Serializable,
                                            56 Serializable,
                            PSR12  (1 usage found)
                                Tests  (1 usage found)
                                    Classes  (1 usage found)
                                        AnonClassDeclarationUnitTest.inc  (1 usage found)
                                            8 \Serializable
                            PSR2  (6 usages found)
                                Tests  (6 usages found)
                                    Classes  (6 usages found)
                                        ClassDeclarationUnitTest.inc  (6 usages found)
                                            22 \Serializable {
                                            29 \Serializable
                                            45 \Serializable
                                            57 \Serializable
                                            64 \Serializable
                                            131 \Serializable
    extensions  (34 usages found)
        Wikibase  (30 usages found)
            lib  (30 usages found)
                packages  (30 usages found)
                    wikibase  (30 usages found)
                        changes  (8 usages found)
                            src  (8 usages found)
                                EntityDiffChangedAspects.php  (4 usages found)
                                    6 use Serializable;
                                    18 class EntityDiffChangedAspects implements Serializable {
                                    139 * @see Serializable::serialize
                                    148 * @see Serializable::unserialize
                                RepoRevisionIdentifier.php  (4 usages found)
                                    7 use Serializable;
                                    17 class RepoRevisionIdentifier implements Serializable {
                                    79 * @see Serializable::serialize
                                    88 * @see Serializable::unserialize
                        data-model  (22 usages found)
                            src  (20 usages found)
                                Entity  (8 usages found)
                                    EntityId.php  (2 usages found)
                                        5 use Serializable;
                                        10 interface EntityId extends Serializable {
                                    EntityIdValue.php  (2 usages found)
                                        27 * @see Serializable::serialize
                                        40 * @see Serializable::unserialize
                                    ItemId.php  (2 usages found)
                                        63 * @see Serializable::serialize
                                        74 * @see Serializable::unserialize
                                    NumericPropertyId.php  (2 usages found)
                                        59 * @see Serializable::serialize
                                        68 * @see Serializable::unserialize
                                Snak  (8 usages found)
                                    PropertyValueSnak.php  (2 usages found)
                                        50 * @see Serializable::serialize
                                        61 * @see Serializable::unserialize
                                    Snak.php  (2 usages found)
                                        5 use Serializable;
                                        17 interface Snak extends Serializable, PropertyIdProvider {
                                    SnakList.php  (2 usages found)
                                        268 * @see Serializable::serialize
                                        277 * @see Serializable::unserialize
                                    SnakObject.php  (2 usages found)
                                        96 * @see Serializable::serialize
                                        107 * @see Serializable::unserialize
                                ReferenceList.php  (4 usages found)
                                    9 use Serializable;
                                    27 class ReferenceList implements Countable, IteratorAggregate, Serializable {
                                    225 * @see Serializable::serialize
                                    256 * @see Serializable::unserialize
                            tests  (2 usages found)
                                fixtures  (2 usages found)
                                    CustomEntityId.php  (2 usages found)
                                        16 * @see Serializable::serialize
                                        25 * @see Serializable::unserialize
        WikibaseLexeme  (2 usages found)
            src  (2 usages found)
                Domain  (2 usages found)
                    Model  (2 usages found)
                        LexemeId.php  (2 usages found)
                            56 * @see Serializable::serialize
                            65 * @see Serializable::unserialize
        WikibaseMediaInfo  (2 usages found)
            src  (2 usages found)
                DataModel  (2 usages found)
                    MediaInfoId.php  (2 usages found)
                        73 * @see Serializable::serialize
                        82 * @see Serializable::unserialize

Change 758800 merged by jenkins-bot:

[mediawiki/core@master] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/758800

Change 759963 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_37] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759963

Change 759964 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_36] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759964

Change 759965 had a related patch set uploaded (by Reedy; author: Reedy):

[mediawiki/core@REL1_35] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759965

Change 759963 merged by jenkins-bot:

[mediawiki/core@REL1_37] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759963

Change 759965 merged by jenkins-bot:

[mediawiki/core@REL1_35] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759965

Change 759964 merged by jenkins-bot:

[mediawiki/core@REL1_36] Implement __serialize/__unserialize for PHP 8.1 support

https://gerrit.wikimedia.org/r/759964

The CI job wmf-quibble-core-vendor-mysql-php81-docker shows a deprecation message:

> php tests/phpunit/phpunit.php '-c' 'tests/phpunit/suite.xml' '--testsuite' 'extensions' '--group' 'Database' '--exclude-group' 'Broken,ParserFuzz,Stub,Standalone'
Using PHP 8.1.16
PHP Deprecated:  Mock_DataValue_cc3d47d1 implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /workspace/src/vendor/phpunit/phpunit/src/Framework/MockObject/MockClass.php(51) : eval()'d code on line 3
PHPUnit 9.5.28 by Sebastian Bergmann and contributors.

It seems coming from some Wikibase related code, like the DataModel project or such.

Change 907901 had a related patch set uploaded (by Ollie Shotton; author: Ollie Shotton):

[mediawiki/extensions/Wikibase@master] REST: Fix Serializable interface deprecated warnings

https://gerrit.wikimedia.org/r/907901

Change 907901 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] REST: Fix Serializable interface deprecated warnings

https://gerrit.wikimedia.org/r/907901

Krinkle claimed this task.

Closing as resolved for the MapCacheLRU and other objectcache/ changes that were fixed. If some of the others remain, I suggest creating a new task that posibly still covers multiple issues but at least scoped to one extension or one component.