See <https://www.mediawiki.org/wiki/OOUI/Themes> for details.
* (T229035) The GetUserBlock hook was added. Use this instead of
GetBlockedStatus.
+* ObjectFactory is available as a service. When used as a service, the object
+ specs can now specify needed DI services.
=== External library changes in 1.34 ===
* TempFSFile::factory() has been deprecated. Use TempFSFileFactory instead.
* wfIsBadImage() is deprecated. Use the BadFileLookup service instead.
* Language::getLocalisationCache() is deprecated. Use MediaWikiServices.
+ * The following Language methods are deprecated: isSupportedLanguage,
+ isValidCode, isValidBuiltInCode, isKnownLanguageTag, fetchLanguageNames,
+ fetchLanguageName, getFileName, getMessagesFileName, getJsonMessagesFileName.
+ Use the new LanguageNameUtils class instead. (Note that fetchLanguageName(s)
+ are called getLanguageName(s) in the new class.)
=== Other changes in 1.34 ===
* …
use MediaWiki\Block\BlockRestrictionStore;
use MediaWiki\FileBackend\FSFile\TempFSFileFactory;
use MediaWiki\Http\HttpRequestFactory;
+ use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Page\MovePageFactory;
use MediaWiki\Permissions\PermissionManager;
use MediaWiki\Preferences\PreferencesFactory;
use TitleFormatter;
use TitleParser;
use VirtualRESTServiceClient;
+use Wikimedia\ObjectFactory;
use Wikimedia\Rdbms\LBFactory;
use Wikimedia\Services\SalvageableService;
use Wikimedia\Services\ServiceContainer;
return $this->getService( 'InterwikiLookup' );
}
+ /**
+ * @since 1.34
+ * @return LanguageNameUtils
+ */
+ public function getLanguageNameUtils() {
+ return $this->getService( 'LanguageNameUtils' );
+ }
+
/**
* @since 1.28
* @return LinkCache
return $this->getService( 'NameTableStoreFactory' );
}
+ /**
+ * ObjectFactory is intended for instantiating "handlers" from declarative definitions,
+ * such as Action API modules, special pages, or REST API handlers.
+ *
+ * @since 1.34
+ * @return ObjectFactory
+ */
+ public function getObjectFactory() {
+ return $this->getService( 'ObjectFactory' );
+ }
+
/**
* @since 1.32
* @return OldRevisionImporter
use MediaWiki\Http\HttpRequestFactory;
use MediaWiki\Interwiki\ClassicInterwikiLookup;
use MediaWiki\Interwiki\InterwikiLookup;
+ use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\Linker\LinkRendererFactory;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\Storage\NameTableStoreFactory;
use MediaWiki\Storage\SqlBlobStore;
use MediaWiki\Storage\PageEditStash;
+use Wikimedia\ObjectFactory;
return [
'ActorMigration' => function ( MediaWikiServices $services ) : ActorMigration {
);
},
+ 'LanguageNameUtils' => function ( MediaWikiServices $services ) : LanguageNameUtils {
+ return new LanguageNameUtils( new ServiceOptions(
+ LanguageNameUtils::$constructorOptions,
+ $services->getMainConfig()
+ ) );
+ },
+
'LinkCache' => function ( MediaWikiServices $services ) : LinkCache {
return new LinkCache(
$services->getTitleFormatter(),
$logger,
[ function () use ( $services ) {
$services->getResourceLoader()->getMessageBlobStore()->clear();
- } ]
+ } ],
+ $services->getLanguageNameUtils()
);
},
);
},
+ 'ObjectFactory' => function ( MediaWikiServices $services ) : ObjectFactory {
+ return new ObjectFactory( $services );
+ },
+
'OldRevisionImporter' => function ( MediaWikiServices $services ) : OldRevisionImporter {
return new ImportableOldRevisionImporter(
true,