* Added `bearer` auth config to authenticate using `Authorization: Bearer <token>` headers
* Added `plugin-api-version` in composer.lock so future Composer versions know if they are running a lock file which was not built by the correct version
* Fixed composer fund command and funding info parsing to be more useful
* Fixed issue where --no-dev autoload generation was excluding some packages which should not have been excluded
* Fixed 1.10-RC regression in create project's handling of absolute paths
### [1.10.0-RC] 2020-02-14
### [1.10.0-RC] 2020-02-14
* Breaking: `composer global exec ...` now executes the process in the current working directory instead of executing it in the global directory.
* Breaking: `composer global exec ...` now executes the process in the current working directory instead of executing it in the global directory.
'<warning>Warning: Ambiguous class resolution, "'.$class.'"'.
' was found in both "'.str_replace(array('$vendorDir . \'', "',\n"), array($vendorPath, ''), $classMap[$class]).'" and "'.$path.'", the first will be used.</warning>'
);
}
}
}
}
@ -393,8 +400,8 @@ EOF;
/**
/**
* Compiles an ordered list of namespace => path mappings
* Compiles an ordered list of namespace => path mappings
*
*
* @param array $packageMap array of array(package, installDir-relative-to-composer.json)
* @param array $packageMap array of array(package, installDir-relative-to-composer.json)
if ($input->getOption('global') && !$this->authConfigFile->exists()) {
if ($input->getOption('global') && !$this->authConfigFile->exists()) {
touch($this->authConfigFile->getPath());
touch($this->authConfigFile->getPath());
$this->authConfigFile->write(array('bitbucket-oauth' => new \ArrayObject, 'github-oauth' => new \ArrayObject, 'gitlab-oauth' => new \ArrayObject, 'gitlab-token' => new \ArrayObject, 'http-basic' => new \ArrayObject));
$this->authConfigFile->write(array('bitbucket-oauth' => new \ArrayObject, 'github-oauth' => new \ArrayObject, 'gitlab-oauth' => new \ArrayObject, 'gitlab-token' => new \ArrayObject, 'http-basic' => new \ArrayObject, 'bearer' => new \ArrayObject));
@ -421,7 +427,7 @@ class VcsRepository extends ArrayRepository implements ConfigurableRepositoryInt
$this->io->overwriteError($msg, false);
$this->io->overwriteError($msg, false);
}
}
if ($existingPackage = $this->findPackage($cachedPackage['name'], $cachedPackage['version_normalized'])) {
if ($existingPackage = $this->findPackage($cachedPackage['name'], new Constraint('=', $cachedPackage['version_normalized']))) {
if ($isVeryVerbose) {
if ($isVeryVerbose) {
$this->io->writeError('<warning>Skipped cached version '.$version.', it conflicts with an another tag ('.$existingPackage->getPrettyVersion().') as both resolve to '.$cachedPackage['version_normalized'].' internally</warning>');
$this->io->writeError('<warning>Skipped cached version '.$version.', it conflicts with an another tag ('.$existingPackage->getPrettyVersion().') as both resolve to '.$cachedPackage['version_normalized'].' internally</warning>');
$message = "\n".'Could not fetch '.$url.', enter your ' . $origin . ' credentials ' .($statusCode === 401 ? 'to access private repos' : 'to go over the API rate limit');
$message = "\n".'Could not fetch '.$url.', enter your ' . $origin . ' credentials ' .($statusCode === 401 ? 'to access private repos' : 'to go over the API rate limit');
$gitLabUtil = new GitLab($this->io, $this->config, null);
$gitLabUtil = new GitLab($this->io, $this->config, null);