=== Changes since MediaWiki 1.31.6 ===
+* (T212738) Add the MW_VERSION constant, global $wgVersion is soft deprecated.
+
== MediaWiki 1.31.6 ==
This is a security and maintenance release of the MediaWiki 1.31 branch.
-Subproject commit cf9f8c126b5213b77fb4dc7b7f49d775c8189119
+Subproject commit 44c0834dc396345de7e159d2d745d169b8344c84
/**
* MediaWiki version number
* @since 1.2
+ * @deprecated since 1.35; use the MW_VERSION constant instead
*/
-$wgVersion = '1.31.6';
+$wgVersion = MW_VERSION;
/**
* Name of the site. It must be changed in LocalSettings.php
* @defgroup Constants MediaWiki constants
*/
+/**
+ * The running version of MediaWiki.
+ *
+ * This replaces the the $wgVersion global found in earlier versions.
+ *
+ * @since 1.35
+ */
+define( 'MW_VERSION', '1.31.6' );
+
# Obsolete aliases
/**
* @deprecated since 1.28
class MediaWikiVersionFetcher {
/**
- * Returns the MediaWiki version, in the format used by MediaWiki's wgVersion global.
+ * Get the MediaWiki version, extracted from the PHP source file where it is defined.
*
* @return string
* @throws RuntimeException
*/
public function fetchVersion() {
- $defaultSettings = file_get_contents( __DIR__ . '/DefaultSettings.php' );
+ $code = file_get_contents( __DIR__ . '/Defines.php' );
$matches = [];
- preg_match( "/wgVersion = '([0-9a-zA-Z\.\-]+)';/", $defaultSettings, $matches );
+ preg_match( "/define\( 'MW_VERSION', '([0-9a-zA-Z\.\-]+)'/", $code, $matches );
if ( count( $matches ) !== 2 ) {
- throw new RuntimeException( 'Could not extract the MediaWiki version from DefaultSettings.php' );
+ throw new RuntimeException( 'Could not extract the MediaWiki version from Defines.php' );
}
return $matches[1];
'implementation' => 'PHP',
'version' => PHP_VERSION,
'vendor' => 'the PHP Group',
- 'upstreamSupported' => '5.6.0',
+ 'upstreamSupported' => '7.2.0',
'minSupported' => '7.0.13',
'upgradeURL' => 'https://secure.php.net/downloads.php',
);
require_once __DIR__ . '/Maintenance.php';
+use Composer\Semver\Semver;
+
/**
* Checks whether your composer-installed dependencies are up to date
*
$installed = $lock->getInstalledDependencies();
foreach ( $json->getRequiredDependencies() as $name => $version ) {
if ( isset( $installed[$name] ) ) {
- if ( $installed[$name]['version'] !== $version ) {
+ if ( !SemVer::satisfies( $installed[$name]['version'], $version ) ) {
$this->output(
"$name: {$installed[$name]['version']} installed, $version required.\n"
);
protected function doWork() {
$this->output( "Finding up to {$this->getBatchSize()} drifted rows " .
- "starting at cat_id {$this->getBatchSize()}...\n" );
+ "greater than cat_id {$this->minimumId}...\n" );
$countingConds = [ 'cl_to = cat_title' ];
if ( $this->mode === 'subcats' ) {
$title = Title::newFromText( $this->getArg() );
if ( !$title ) {
$this->fatalError( "Invalid title" );
+ } elseif ( $title->isSpecialPage() ) {
+ $this->fatalError( "Special Pages not supported" );
+ } elseif ( !$title->exists() ) {
+ $this->fatalError( "Page does not exist" );
}
$page = WikiPage::factory( $title );
public function testReturnsResult() {
$versionFetcher = new MediaWikiVersionFetcher();
- $this->assertInternalType( 'string', $versionFetcher->fetchVersion() );
+ $this->assertSame( MW_VERSION, $versionFetcher->fetchVersion() );
}
}