This is a notification about a breaking change to the ZipDirectoryReader class in MediaWiki 1.44, as required by the Stable Interface Policy. If you do not maintain an extension that uses ZipDirectoryReader, you can ignore this message.
Summary: The ZipDirectoryReader and ZipDirectoryReaderError
classes have been moved to the mime
analyzer library in the Wikimedia\Mime namespace.
Furthermore, the return type of the readHandle method was
widened from Status to StatusValue. Since this
change to the return type is not backwards compatible, no class
alias is provided.
Remedy: If you need to use ZipDirectoryReader or ZipDirectoryReaderError, import them from the Wikimedia\Mime namespace. If you are making use of the object returned by the readHandle method, make sure you are not using any methods not present in StatusValue.
Rationale: ZipDirectoryReader is used by the MimeAnalyzer
class, which is located in the mime analyzer library
in the Wikimedia\Mime namespace. However, ZipDirectoryReader
was part of MediaWiki code, so it's illegal for library code to access
it. Since MimeAnalyzer appears to be the only user
of ZipDirectoryReader, the simplest solution was to move
into the library as well. However, ZipDirectoryReader was
making use of the Status class, which again is part of
MediaWiki core and this cannot be accessed from libraries. Only
its more general base class, StatusValue, can. This made
it necessary to change the return type of the readHandle
method. Since there are no users of ZipDirectoryReader in
any extension known to Code Search, the Stable Interface
Policy allows the breaking change without a deprecation period.
Context: This change is part of a long-term effort to extract generic code from MediaWiki core
into libraries, to reduce code complexity and improve code
re-use.
-- Daniel Kinzler Principal Software Engineer MediaWiki Engineering Group Wikimedia Foundation