1
0
Fork 0
Commit Graph

8276 Commits (f42fb617e6ba9c036b6ca5c01da4a54908783494)

Author SHA1 Message Date
Yanick Witschi 5474dc9b5b
Fixed replaced packages being incorrectly missing when unlocked by an old version (#11629)
Co-authored-by: Nils Adermann <naderman@naderman.de>
2023-09-13 10:42:47 +02:00
Jason McCreary 1e4966c313
Get realpath for `ZipArchive` (#11636) 2023-09-13 09:59:22 +02:00
Jordi Boggiano 1ac0ea8739
Retry curl receive errors when connection reset by peer, fixes #11622 2023-09-12 10:10:53 +02:00
Jordi Boggiano 755e89fc91
Fix loading of root aliases on path repo packages when doing partial updates, fixes #11630 (#11632) 2023-09-11 17:45:19 +02:00
Christophe Coevoet 087b21d687
Fix the promise resolution for the cleanup logic (#11620) 2023-09-11 17:40:43 +02:00
Jordi Boggiano 75ae504b2c
Reverting release version changes 2023-09-03 14:09:16 +02:00
Jordi Boggiano 623e5e1de0
Release 2.6.2 2023-09-03 14:09:15 +02:00
Michael Voříšek 40244dc228
Revert "Set $_SERVER['SCRIPT_NAME'] within proxy command (#11562)" (#11617)
This reverts commit 9c25633d6d.
2023-09-03 13:39:48 +02:00
Jordi Boggiano 98a588eb90
Avoid COMPOSER env being set if not necessary as it can cause issues with scripts, fixes #11613, refs #11493 2023-09-03 11:13:54 +02:00
Uladzimir Tsykun 90cbb144b2
Fix exit code 5 on composer require/create-project command (#11616) 2023-09-03 10:54:07 +02:00
Jordi Boggiano d221d5c69a
Reverting release version changes 2023-09-01 13:53:09 +02:00
Jordi Boggiano ee851d6b6b
Release 2.6.1 2023-09-01 13:53:08 +02:00
Jordi Boggiano 5fae76ce67
Revert "Allow executing binaries which are not marked executable via shell proxies (#11557)"
This reverts commit c1f2964105.
2023-09-01 13:50:20 +02:00
Jordi Boggiano 9ab8ef5a71
Reverting release version changes 2023-09-01 10:07:51 +02:00
Jordi Boggiano ea4222fad9
Release 2.6.0 2023-09-01 10:07:50 +02:00
Jordi Boggiano 7dc5666f33
Avoid failing the require command if the audit step failed 2023-09-01 10:05:13 +02:00
Dezső BICZÓ 0ab4dfba7c
Change audit.ignore behavior before 2.6.0 (#11605)
* Still report ignored security advisories

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2023-09-01 10:04:31 +02:00
ಠ_ಠ 1a2bd38764
allow bumping for patch level version constraints fixes #11579 (#11590) 2023-08-31 11:05:49 +02:00
Travis Carden 1c4ac1c437
Add `dumpautoload --dry-run` option (#11608) 2023-08-31 10:35:02 +02:00
Martin Herndl 6fd145f01e
Allow --strict-psr in `DumpAutoloadCommand` also with --classmap-authoritative (#11607) 2023-08-30 21:43:16 +02:00
Tom Klingenberg db53c65986
COMPOSER_DISABLE_NETWORK aware `diagnose` checks; SKIP output (#11597)
Make `diagnose` checks aware of COMPOSER_DISABLE_NETWORK (true) and skip
Composer network operations that would otherwise spill stack traces into
diagnostic messages and taint the result as error while the check itself
is not applicable/useful within the environment.

`COMPOSER_DISABLE_NETWORK` was released with [2.0.0-alpha1] and intro-
duced in fc03ab9bb (Add COMPOSER_DISABLE_NETWORK env var for debugging,
2019-01-14).

The previous behaviour was to exit with a status of two (2), denoting an
error.

The new behaviour is to exit with a status of zero (0), showing the
successful skipping of diagnostics that can only be run when Composer
network is enabled - not disabled.

SKIP output is updated and streamlined.

NOTE: The "prime" Value

It is irrelevant for diagnose checks, as all diagnostic checks that
spilled were with the HTTP Downloader and the check is aligned (both
"1" or "prime" values disable):

    (bool) Platform::getEnv('COMPOSER_DISABLE_NETWORK')

NOTE: Not Affected

 * The `allow_url_fopen` diagnostic check, platform related
 * The `disable-tls` setting related HTTP Downloader creation warning

[2.0.0-alpha1]: <https://getcomposer.org/changelog/2.0.0-alpha1> "released 2020-06-03"
2023-08-30 21:35:59 +02:00
Christophe Coevoet 83771ce9ba
Fix the mtime of the vendor folder when running composer install (#11593)
When splitting the logic between the lock file management and the vendor
folder management in composer 2.0, the logic playing nice with make was
broken by running the logic based on operations performed in the lock
file instead of operations performed in the vendor folder.
2023-08-30 18:05:58 +02:00
Jordi Boggiano 094fb6cd70
Fix support for react/promise 2.x 2023-08-30 11:38:36 +02:00
Jordi Boggiano bbd2c9613e
Fix uncaught promises when doing synchronous file downloads that fail, fixes #11563 2023-08-30 11:19:47 +02:00
Jordi Boggiano 83792838c9
Fix problem output bug when purely numeric versions are condensed 2023-08-30 10:45:57 +02:00
Stephan 5062338079
Audit: ignores configured repository options (#11173)
* Audit: ignores configured repository options

* ComposerRepository: add test case to assert that repo http options are used to make security advisory POST request
2023-08-29 15:16:34 +02:00
Jordi Boggiano 95dca79fc2
Output error message in verbose mode before asking for credentials, fixes #11570 2023-08-04 11:06:00 +02:00
Jordi Boggiano 7ffcaacd08
Fix ignored config merging when audit is present but ignored isnt 2023-08-04 11:05:59 +02:00
Dan Wallis 9c25633d6d
Set $_SERVER['SCRIPT_NAME'] within proxy command (#11562) 2023-08-02 11:55:24 +02:00
Jordi Boggiano f4738d97b7
Add support for Application::setCatchErrors in symfony 6.4+, refs symfony/symfony#50420 2023-07-28 19:33:33 +02:00
Jordi Boggiano 0cdabcc4ee
Add audit.ignored config setting to ignore security advisories by id or CVE id, fixes #11298 (#11556) 2023-07-21 14:36:38 +02:00
Julian Liebig a6c7b0b327
Retry download if curl error 55 is encountered (#11543) 2023-07-21 14:29:56 +02:00
David Zülke 3e9c148b63
Fix trailing whitespace in 'composer show -N' (#11536)
The name column was always padded to maximum width, even if no other columns were printed.

This makes it difficult to use the output e.g. in pipelines.

Fixed for all possible columns, and with tests for two cases (regular show and show outdated).
2023-07-21 11:29:38 +02:00
David Zülke 07f706e57d
Fix 'composer show --platform <package>' erroring if no composer.json is present (#11533)
Sort of related to #11046 (although this is not a regression, but didn't work before, either)
2023-07-21 11:28:36 +02:00
Stephan cf8ea3c70e
GitHubDriver: better handle empty composer.json file (#11552) 2023-07-21 11:09:32 +02:00
David Zülke 8f49166ec6
Fix lib-curl-openssl parsing for SecureTransport (#11534)
On macOS, if libcurl is built against SecureTransport, the platform repository will contain an invalid package name:

    % composer show --platform | grep curl
    ext-curl                           8.2.7    The curl PHP extension
    lib-curl                           8.1.2    The curl library
    lib-curl-(securetransport) openssl 3.1.1    curl (securetransport) openss...
    lib-curl-libssh2                   1.11.0   curl libssh2 version
    lib-curl-zlib                      1.2.11   curl zlib version

This change fixes it:

    % bin/composer show --platform | grep curl
    lib-curl                 8.1.2              The curl library
    lib-curl-libssh2         1.11.0             curl libssh2 version
    lib-curl-securetransport 3.1.1              curl (securetransport) openssl ...
    lib-curl-zlib            1.2.11             curl zlib version

(second column width difference comes from the Composer dev version number)
2023-07-21 11:06:03 +02:00
Attia A. Ahmed ce876e7a6f
Fix broken junctions leading to installation failure on Windows (#11550) 2023-07-21 10:59:59 +02:00
Jordi Boggiano e7016b00a9
Upgrade to react/promise 3.0.0 (#10429) 2023-07-20 12:52:28 +02:00
Brian French c1f2964105
Allow executing binaries which are not marked executable via shell proxies (#11557) 2023-07-19 17:38:21 +02:00
Jordi Boggiano 82bc8cf94e
Update deps 2023-07-19 14:57:22 +02:00
MaximAL 1c9fbeb978
Preserve indentation when writing JSON files (#11390)
Refs #11341
2023-07-19 14:13:06 +02:00
Agostino Fiscale 16d1b11c26
Add homepage links in why/why-not commands (#11308) 2023-07-19 11:28:17 +02:00
Helmut Hummel 68b7a07187
Feature: Allow local directory paths in repository of type composer (#11526)
Fixes: #11519
2023-07-18 11:44:53 +02:00
Jordi Boggiano 2b18799c44
Fix problem output of exact constraints to state more clearly that only those versions are matched (#11521)
Fixes #11479
2023-06-23 13:13:20 +02:00
Jordi Boggiano 1db0a47080
Add prompt to require command if a package name is not found but there are similar names that could be used (#11284)
fixes #11279
2023-06-23 11:15:03 +02:00
Jordi Boggiano 196ac10505
Remove dead code 2023-06-23 10:57:56 +02:00
Jordi Boggiano 06b4923c47
Add fallback dist type extension to temp archive files for URLs without extension, fixes #11513 (#11520) 2023-06-22 16:30:48 +02:00
Jordi Boggiano bbea3e5284
Merge branch '2.5' 2023-06-09 17:13:53 +02:00
Jordi Boggiano 7b03fa1ba3
Reverting release version changes 2023-06-09 17:13:22 +02:00
Jordi Boggiano 4c51614616
Release 2.5.8 2023-06-09 17:13:21 +02:00
Jordi Boggiano 3f385d466f
Update types some more, refs #11500 2023-06-09 17:13:09 +02:00
Jordi Boggiano c12b551d3a
Update type declarations on ClassLoader, fixes #11482 (#11500) 2023-06-08 16:30:13 +02:00
Jordi Boggiano 7f6de36354
Fix typo 2023-06-07 16:35:29 +02:00
Jordi Boggiano ff67cdf6e6
Ignore ICU CDLR version fetching when ICU cannot initialize the resource bundle, fixes #11492 2023-06-07 16:19:44 +02:00
Jordi Boggiano 3ae662f4c7
Fix EventDispatcher on windows picking bat files when using "@php binary", fixes #11490 2023-06-07 15:19:44 +02:00
Andreas Schempp ebd0a60411
Force CreateProjectCommand to use the installed composer.json (#11493) 2023-06-07 12:44:50 +02:00
Jordi Boggiano 1d51f34957
Update baseline (1700, 94) 2023-06-07 08:50:57 +02:00
Jordi Boggiano 6a11574ba6
Merge branch '2.5' 2023-06-07 08:14:20 +02:00
Pol Dellaiera 16bdfe4dae
refactor: update `SyncHelper::downloadAndInstallPackageSync` (#11496)
* refactor: Widen `SyncHelper::downloadAndInstallPackageSync` parameter signature

* chore: bump `PluginInterface::PLUGIN_API_VERSION` to `2.6.0`
2023-06-06 23:32:39 +02:00
Dezső BICZÓ 8c18de5a41
Handle better nullable file parameter (#11486)
* Handle better nullable file parameter

Closes #11483

* CS fix
2023-06-06 23:27:55 +02:00
Pol Dellaiera 45977c7cb1
refactor: update `SyncHelper` (#11485)
Get rid of 3 PHPStan issues
2023-06-06 15:25:54 +02:00
Dan Wallis 3b5976667c
Simplify property assignment (#11488) 2023-06-06 14:26:14 +02:00
Jordi Boggiano 902a153741
Fix regression in edge cases where root package gets added to a repository already during the install process, fixes #11495 2023-06-06 14:02:29 +02:00
Sergii Shymko 52caea70d4
Refactor downloader package dist path parsing (#11471) 2023-06-06 13:54:17 +02:00
Jordi Boggiano 52f6f74b7c
Merge branch '2.5' 2023-05-24 15:00:53 +02:00
Jordi Boggiano 7d6c76ee79
Reverting release version changes 2023-05-24 15:00:43 +02:00
Jordi Boggiano d477018d3f
Release 2.5.7 2023-05-24 15:00:40 +02:00
Jordi Boggiano 33c293aec3
Fix autoload regression with metapackage dependencies (#11481)
fixes #11480

introduced by #11455
2023-05-24 14:58:11 +02:00
Jordi Boggiano 4893b67efa
Reverting release version changes 2023-05-24 09:14:24 +02:00
Jordi Boggiano f7c05db8b0
Release 2.5.6 2023-05-24 09:14:18 +02:00
Jordi Boggiano 5a96e6ae13
Merge branch '2.5' 2023-05-23 23:49:53 +02:00
Jordi Boggiano 23654389da
Fix lock file verification to take into account root provider/replacers and output mismatches there more clearly, fixes #11458 (#11475) 2023-05-23 23:15:07 +02:00
Stefan Grootscholten 9d965b9c65
Fix authentication issues with private bitbucket repos (#11464) 2023-05-23 23:14:11 +02:00
Jørn Støylen 9885d23e2a
Ensure stripos() receives a string
If file_get_contents() returns false, stripos() will throw a TypeError.
Casting to string prevents this from happening.

Closes #11470
2023-05-23 21:11:23 +02:00
Jordi Boggiano 24361ae654
Merge branch '2.5' 2023-05-23 16:25:24 +02:00
Jordi Boggiano e51d755a08
Fix numeric default-branches with v prefix (e.g. v2.x-dev) being treated as non-numeric and receiving an alias like e.g. dev-main 2023-05-23 16:25:08 +02:00
Jordi Boggiano 3a48e39375
Return null for install path for metapackages instead of an empty path which then resolves to the root package's path (#11455)
Fixes #11389
2023-05-14 13:46:46 +02:00
Jordi Boggiano 54808d9bde
Merge branch '2.5' 2023-05-08 14:50:48 +02:00
Dezső BICZÓ 57a48df34e
Support advisories from multiple repositories for the same package (#11436) 2023-05-07 15:12:04 +02:00
Jordi Boggiano a79eef2949
Fix class renaming in plugin manager 2023-05-07 14:53:17 +02:00
Jordi Boggiano 2b58f2c625
Fix getmypid being required as it is not always available, fixes #11401 2023-05-07 14:48:34 +02:00
Jordi Boggiano bf5ae27b93
Fix support for readonly classes as plugins, fixes #11404 2023-05-07 14:39:25 +02:00
Jordi Boggiano 3bb191a464
Add support for env vars and ~ (for HOME) in repo paths for vcs and artifact repositories, fixes #11409 (#11453) 2023-05-07 13:53:32 +02:00
Jordi Boggiano e28a5675b7
Fixed binary proxies to return whatever the original binary returns as well, fixes #11416 (#11454) 2023-05-05 22:24:59 +02:00
Jordi Boggiano cbb7319963
Merge branch '2.5' 2023-05-05 14:16:14 +02:00
Jordi Boggiano 2d2d22d0ec
Fix lock file being more recent than vendor dir when require guesses the constraint after resolution, fixes #11405 2023-05-05 14:15:27 +02:00
Nils Adermann 595559f68d
Remove optional package loading to simplify pool builder (#11450)
Instead we just directly check if any currently loaded package requires
the package to be loaded optionally.
2023-05-02 23:59:36 +02:00
Yanick Witschi 9ced20fd0d Take the short cut 2023-05-02 23:11:20 +02:00
Yanick Witschi 995b806dfe Optimize PoolBuilder to not load replaced targets if not required 2023-05-02 22:10:18 +02:00
Jason Woods 010bad5428 fix: If a replacer is updated to a version that no longer replaces, the replaced package is not loaded 2023-05-02 22:07:57 +02:00
Stephan 11879ea737
ArrayLoader: handle invalid support value (#11440) 2023-04-26 15:26:45 +02:00
David Zülke e0c1ad1448
PlatformRepository library support for libpq (from ext-pq) and librdkafka (from ext-rdkafka) (#11418)
* libpq library version info for ext-pq

* librdkafka library version info for ext-rdkafka

Computes from RD_KAFKA_VERSION, faster than output buffering
2023-04-25 13:59:36 +02:00
Jordi Boggiano 776ff2ea51
Merge branch '2.5' 2023-03-21 11:53:54 +01:00
Jordi Boggiano 766628a8d4
Reverting release version changes 2023-03-21 11:50:06 +01:00
Jordi Boggiano c7cffaad16
Release 2.5.5 2023-03-21 11:50:05 +01:00
Jordi Boggiano 8b0a185d5d
Fixed display of empty objects showing [] instead of {} in config command, fixes #11302 2023-03-21 11:17:55 +01:00
Jordi Boggiano 91b7b0ff3b
Fixed querying of default config values, and fix source display for them, and fix bools to show as bools, fixes #11302 2023-03-21 11:07:57 +01:00
Jordi Boggiano 3988fe2c9c
Fix svndriver type error 2023-03-21 10:50:22 +01:00
Jordi Boggiano 5f298ae294
Merge branch '2.5' 2023-03-21 10:45:40 +01:00
Jordi Boggiano 5c3d8f35db
Update deps, fix phpstan issues, update baseline (1711, 49) 2023-03-21 10:36:42 +01:00
Jordi Boggiano 62f12abcb1
Fix return type of InstalledVersions::getInstalled, fixes #11304 2023-03-21 09:55:28 +01:00
Jordi Boggiano d3adecf583
Fix github header handling to be case insensitive, fixes rate limit extraction (#11366) 2023-03-20 21:42:28 +01:00
Stephan 685a2e6be2
Composer support string (#11386)
* GitHubDriver: fix support is set to string

* GitLabDriver: fix support is set to string

* BitbucketDriver: fix support is set to string

* Fix PHPStan
2023-03-20 20:18:19 +01:00
Edgaras Janušauskas f41abfca34
Add platform check for 64-bit PHP (#11334) 2023-03-20 16:08:12 +01:00
Wim Leers 5d2d513f97
Follow-up for #5205: fix high concurrency race condition
Composer would fail with an
```
PHP temp directory (/tmp) does not exist or is not writable to Composer. Set sys_temp_dir in your php.ini
```
error when used in parallel. Because it is checking if a file with `md5(microtime())` can be created, which is not sufficiently unique when used in parallel.

Since each Composer instance runs in its own process, this can easily be mitigated by not just partitioning based on time of use, but also based on process ID.

Original investigation: https://www.drupal.org/project/automatic_updates/issues/3338789#comment-14961390
2023-03-17 13:55:30 +01:00
AnrDaemon 3b16937bae
Pick higher revision number to guarantee successful file retrieval (#11350) 2023-03-17 10:23:02 +01:00
Uladzimir Tsykun 32366bc37d
Fix basic auth infinite loop (#11320) 2023-03-17 09:13:11 +01:00
Jordi Boggiano 1a3f98601f
Merge branch '2.5' 2023-03-15 22:56:15 +01:00
Jordi Boggiano b8f82b244c
Escape % chars in user input before passing to sprintf, fixes #11359 2023-03-15 22:53:29 +01:00
Ion Bazan 0ba7e0dcbd
Exit with non-zero code if post-install audit fails (#11362) 2023-03-15 22:11:23 +01:00
Ben Ramsey cd137ee29b
Add security to support options (#11271)
This support option allows projects to specify a URL to the project's
vulnerability disclosure policy (VDP).
2023-03-10 22:28:10 +01:00
Alexander Dmitryuk d1ab1255b5
Add rm alias to composer remove command (#11367)
* rm alias

* review
2023-03-10 22:27:20 +01:00
Michal Špaček efc105eac1
Add proxy value to bin-compat validator (#11353)
Fix #11352
2023-02-27 16:02:50 +01:00
Jordi Boggiano fe741e0ffe
Merge branch '2.5' 2023-02-24 17:42:18 +01:00
Jordi Boggiano b5aad9ec0d
Fix type error when upgrading composer 2023-02-24 17:41:59 +01:00
Jordi Boggiano 1ff942bb44
Fix type errors in key updating logic 2023-02-24 17:41:47 +01:00
Jordi Boggiano ecb69eaa4a
Merge branch '2.5' 2023-02-15 13:10:37 +01:00
Jordi Boggiano b0a110f164
Reverting release version changes 2023-02-15 13:10:06 +01:00
Jordi Boggiano 6b67eeea4d
Release 2.5.4 2023-02-15 13:10:06 +01:00
Jordi Boggiano d35cb21749
Match plugin-optional more strictly 2023-02-10 21:13:30 +01:00
Marek Nocoń b781031413
Added optional plugin check in PluginInstaller (#11318) 2023-02-10 21:12:30 +01:00
Jordi Boggiano 0dd5811583
Ensure we have a bool for plugin-optional 2023-02-10 14:19:02 +01:00
Markus Staab d8221bd443
PHPStan: Fixed handling of union types in ConfigReturnTypeExtension (#11312)
Co-authored-by: Markus Staab <m.staab@complex-it.de>
2023-02-10 14:00:33 +01:00
Markus Staab 933ca81d6b
Removed unused private `Solver::enableDisableLearnedRules` method (#11311) 2023-02-10 13:45:54 +01:00
Jordi Boggiano a9b79ba470
Merge branch '2.5' 2023-02-10 13:24:19 +01:00
Jordi Boggiano c92485a3fb
Reverting release version changes 2023-02-10 13:23:53 +01:00
Jordi Boggiano 607a4c0400
Release 2.5.3 2023-02-10 13:23:52 +01:00
Nicolas Grekas 4b94e55b03
Add extra.plugin-optional to auto-disable plugins in non-interactive mode (#11315) 2023-02-10 13:19:41 +01:00
Jordi Boggiano 2484602f8d
Update target version to 2.6 2023-02-04 14:57:31 +01:00
Jordi Boggiano e6ef9eb332
Reverting release version changes 2023-02-04 14:33:23 +01:00
Jordi Boggiano c76c013c55
Release 2.5.2 2023-02-04 14:33:22 +01:00
Jordi Boggiano 2f2d6c9de7
Fix package sorting logic, fixes #11287 2023-02-03 22:48:18 +01:00
Andor 50cded331c
Default exclude patterns for the "archive" command (#11239)
* Issue #11235 - Adds default exclude patterns for the "archive" command based on the target file name
2023-01-27 17:16:33 +01:00
Jordi Boggiano ad7bc18028
Fix self.version requirements failing the lock file integrity check if on a different version, fixes #11274 (#11283) 2023-01-27 16:54:45 +01:00
Jordi Boggiano 0a2846cb24
Fix autoloading on PHP 5.6 (#11285)
* Add a CI check to ensure the autoloader can run on php5.6+

* Fix autoloading on PHP 5.6
2023-01-27 16:26:04 +01:00
Jordi Boggiano 5165792f9c
Fix security advisory parsing when filter repo is used, fixes #11281 2023-01-27 11:09:34 +01:00
Jordi Boggiano f6f972a699
Fix require regression with --fixed, fixes #11247 2023-01-19 21:42:22 +01:00
Jordi Boggiano 0d96fd8149
Warn when require ends up auto-selecting a feature branch, fixes #11264 (#11270) 2023-01-19 21:42:09 +01:00
Conrad Lara c7f32820d7
Allow v2 metadata target to provide security advisories without releases. (#11257) 2023-01-13 22:20:03 +01:00
Jordi Boggiano 70b1863480
Update deps 2023-01-13 14:19:18 +01:00
Dan Barrett 7560873740
Added tests for the Remove command 2023-01-06 12:38:47 +11:00
Jordi Boggiano d047f38f73
Make sure autoloader closures do not have a scope class set 2022-12-22 21:01:38 +01:00
Jordi Boggiano 2e71896168
Reverting release version changes 2022-12-22 15:33:55 +01:00
Jordi Boggiano 923278ad13
Release 2.5.1 2022-12-22 15:33:54 +01:00
Jordi Boggiano cf8ce82aa1
Fix preg match type error in svn version guessing, fixes #11231 2022-12-22 15:28:49 +01:00
Jordi Boggiano cbb7c91223
Fix ClassLoader to be serializable (#11237)
* Fix ClassLoader to be serializable

* Fix CI to use the source bin/composer as process for "composer" runs incl within simple-phpunit

* Store the closure statically to avoid serialization issues in a cleaner way
2022-12-22 15:17:04 +01:00
Jeffrey Cafferata da611e089a
Docs: fix documention deep links (#11233)
* Docs: Fixed the deep links to the documentation website.

Search scope: `src/Composer/Command`.

* Docs: Fixed the deep links to the documentation website.
2022-12-21 09:32:50 +01:00
Jordi Boggiano 737fd0fca8
Reverting release version changes 2022-12-20 10:44:09 +01:00
Jordi Boggiano 09ef0e3acb
Release 2.5.0 2022-12-20 10:44:08 +01:00
Jordi Boggiano be053cb18e
Allow underscores in cache keys to avoid conflicts with package names containing underscore vs dashes, fixes #11224 (#11229) 2022-12-18 00:03:48 +01:00
Jordi Boggiano 5e6ccae116
Improve version selection in archive command, fixes #4794 (#11230) 2022-12-18 00:02:43 +01:00
Jordi Boggiano 685ec29573
Increase disk size warning to 100MB minimum, closes #11190 2022-12-17 23:50:47 +01:00
Jordi Boggiano 957e7a9165
Merge pull request #11218 from localheinz/fix/patch
Fix preserving of major.minor.patch version when running `composer bump` and installed patch version is `0`, and add bumping of >=x to >=latest
2022-12-17 23:05:21 +01:00
Jordi Boggiano ef7ba73a6a
Add support for bumping >=x to >=latest, fixes #11179 2022-12-17 23:02:52 +01:00
Jordi Boggiano 7f9638f65a
Fix implementation to fix tests, fixes #11220 2022-12-17 22:50:19 +01:00
Markus Staab a94a7512d6
Conditional return type for `IOInterface::select()` (#11219) 2022-12-17 22:03:19 +01:00
PrinsFrank 6d1b36be3b
Check missing-from-lock-file required packages when running install and fail when there are any (#11195) 2022-12-16 16:48:24 +01:00
PrinsFrank b1f3f8b8fa
Prompt users in interactive mode for where to store the credentials if a local auth config file exists (#11188) 2022-12-16 14:31:28 +01:00
Elias Häußler 0cf57255d4
Make possible return type in `IOInterface::select()` more explicit (#11171)
`IOInterface::select()` either returns any of `int`, `string`, `bool` or an
array of `string` values. However, since the returned array is always a
list, we can safely change the return type annotation to `list<string>`,
making it more explicit in terms of static code analysis.
2022-11-24 13:59:33 +01:00
Jordi Boggiano bd6a5019b3
Update to composer/pcre 2.1 (#11189) 2022-11-17 11:34:54 +01:00
Jordi Boggiano 5b28754602
Avoid normalizing to absolute paths if base dir is /toplevel to improve docker portability, fixes #11165, fixes #4404 (#11169) 2022-11-10 16:32:18 +01:00
Jordi Boggiano 6c85b875f2
Update to PHPStan 1.9 2022-11-03 21:53:42 +01:00
Jordi Boggiano 7c1aa8e0ef
Fix regression in run-script/exec commands prompting when used with --list 2022-11-03 13:37:00 +01:00
PrinsFrank 0fca3e5521
Allow the 'composer remove --unused' command to run in non-interactive mode (#11166) 2022-11-03 13:11:34 +01:00
Jordi Boggiano 45af4e3e20
Do not prompt for binary/script args if they are provided, fixes #11167 2022-11-01 16:21:30 +01:00
Jordi Boggiano 36bc30ffab
Make the require command guess versions more accurately by delegating to the solver (except with --no-update) (#11160) 2022-11-01 15:48:52 +01:00
Jordi Boggiano 6bf945017e
Add interactive prompt for which script/binary to run if run-script/exec is called without arg, fixes #11128 (#11157) 2022-10-28 14:25:18 +02:00
Jordi Boggiano 6e55cb36d8
Add support for adding Command classes as scripts, (#11151)
* Add support for adding Command classes as scripts, fixes #11134

* Allow all options to be forwarded and allow using references to other scripts with args

* Fix build

* Add more checks

* Ensure exceptions are not swallowed, and remove naming restriction by using a single-command app

* Update docs

* Add tests, fix issue merging params when combining nested scripts and CLI params
2022-10-28 14:24:55 +02:00
PrinsFrank 0430722e66
Fix output inconsistencies when aliases are being used and '0 installs, 0 updates 0 removals' was being shown when any alias was present compared to 'Nothing to install, update or remove' when no alias is being used. (#11159) 2022-10-28 09:11:55 +02:00
Jordi Boggiano c65687604e
Fix react promise usage for forward compatibility 2022-10-27 16:51:10 +02:00
Jordi Boggiano a63ce7cf96
Add message when doing composer outdated --direct and there is nothing to show, fixes #11152 (#11156) 2022-10-27 16:21:53 +02:00
Jordi Boggiano 1c4ca10c1f
Merge branch '2.4' 2022-10-27 14:40:45 +02:00
Jordi Boggiano cc2e8b05e6
Reverting release version changes 2022-10-27 14:39:29 +02:00
Jordi Boggiano e8d9087229
Release 2.4.4 2022-10-27 14:39:29 +02:00
Jordi Boggiano bb726b8a61
Fix status command reporting differences when source reference is a tag name, fixes #11155 2022-10-27 14:23:51 +02:00
Jordi Boggiano ee0ec9ebc8
Merge branch '2.4' 2022-10-26 13:42:18 +02:00
Jordi Boggiano 10e757d6b0
Add extra debug info when running GH Actions and an archive extraction fails, refs #11148 2022-10-26 12:27:24 +02:00
Stephan Jorek d54f2f21c5
Feature: Add support for autocompleting setting-keys in config-command (#11130)
* Add support for autocompleting setting-keys in config-command

This PR implements the support for autocompletion of setting-keys in the
config-command and its related funtional tests. The implementation takes
existing command-line options like `--unset` or `--global` into account, as
well as existing exposable package-properties. The result is a context-
sensitive auto-completion of individual lists of setting-keys.

Additionally showing the value `suggest.` sub-keys has been allowed in
the config-command, as setting and unsetting them has alwas been possible,
and I did not want to distinguish between showing, setting and unsetting
those keys.

In the setting-key flattening-method I used the `array_is_list()` function,
which was added in PHP 8.1 recently. For backwards PHP-compatiblity the
package `symfony/polyfill-php81` has been added.

Signed-off-by: Stephan Jorek <stephan.jorek@brandung.de>
2022-10-25 16:24:02 +02:00
Jordi Boggiano 8ffd8bef08
Merge branch '2.4' 2022-10-25 15:27:14 +02:00
Ayesh Karunaratne 90673e4f66
Update URL masking patterns for new GitHub fine-grained PATs
Updates GitHub Personal Access Token regex pattern to detect new [fine-grained PATs](https://github.blog/changelog/2022-10-18-introducing-fine-grained-personal-access-tokens/)
2022-10-25 15:07:24 +02:00
Jordi Boggiano 855473148a
Fix regression in loading Composer on SMB/network shares, refs #8231 #11077 2022-10-25 15:05:35 +02:00
Jordi Boggiano 803e4e5dbd
Catch runtime exception while initializing Composer to make sure a missing composer.json does not fail >tryComposer, refs #11133 2022-10-25 15:04:08 +02:00
Kuba Werłos e5b8f2d838
Add "--dry-run" to bump command (#11047) 2022-10-25 15:03:36 +02:00
Jordi Boggiano 8d3a304233
Fix outdated command outputting some of the legend to stdout 2022-10-25 14:44:28 +02:00
Jordi Boggiano 86db6ffdae
Retry cache writes if they fail, refs #11076 2022-10-25 14:44:26 +02:00
Jordi Boggiano 89ad120f2a
Reverting release version changes 2022-10-14 16:56:47 +02:00
Jordi Boggiano b34c0e9a93
Release 2.4.3 2022-10-14 16:56:41 +02:00
Jordi Boggiano 68da418f6e
Merge branch '2.4' 2022-10-13 16:57:52 +02:00
Jordi Boggiano f6e67e584e
Fix json format of audit command missing affectedVersions, fix reportedAt format (BC BREAK!), fixes #11104 (#11120) 2022-10-13 16:56:21 +02:00
Jordi Boggiano 96e88cf84d
Merge branch '2.4' 2022-10-13 16:54:55 +02:00
Jordi Boggiano bc93f734bc
Add an error msg to clearly explain that plugins are disabled when running as root non-interactively, fixes #11093 2022-10-13 16:40:44 +02:00
Jordi Boggiano acddc1f5e4
Fix require failing to do a dry-run when requiring a package with a stability flag, fixes #11112 2022-10-13 16:29:08 +02:00
Ralf Lang 8e4dffc055
Allow other CLIs (like satis in standalone mode) to re-brand composer. (#11118)
This affects the banner at the head of the help screen and the version info.
Symfony's base object offers the same signature but composer does not allow
to override it in constructor.
Yet there are public setter methods to change both after initializing the object.
This is the workaround satis cli currently uses.
2022-10-13 14:10:27 +02:00
Jordi Boggiano 80907cd75d
Ensure files are readable before reading in JsonFile, fixes #11077 2022-10-13 14:07:09 +02:00
Jordi Boggiano ce082cd5b3
Merge branch '2.4' 2022-10-13 11:21:52 +02:00
Jordi Boggiano c447c12a70
Fix min-php version check to avoid crashing sites with a 200, fixes #11091 2022-10-13 11:07:13 +02:00
Jordi Boggiano c9b1a2e70b
Remove useless parsing of constraint from package name 2022-10-13 10:55:39 +02:00
Jordi Boggiano 2c1b309cd3
Add hard failure if COMPOSER_AUTH is malformed json, fixes #11085 2022-10-12 16:57:06 +02:00
Jordi Boggiano 06359da3a3
Merge branch '2.4' 2022-10-12 16:55:56 +02:00
JT Smith 08c04d2c9c
Typofixes (#11096)
* Fixing typo in private method name

* Various comment-related typofixes
2022-10-12 16:45:10 +02:00
Jordi Boggiano 8618f004f7
Fix parsing of aliases used within complex OR constraints, fixes #11086 2022-10-12 16:16:31 +02:00
Jordi Boggiano d06796efcf
Warn if why-not is used with a version which does not exist/is not found, fixes #11070 2022-10-12 15:31:59 +02:00
Jordi Boggiano 822fd640d0
Add warning when outdated command rejects an existing version due to platform requirements, fixes #11016 (#11113) 2022-10-12 13:57:14 +02:00
Jellyfrog 8ed7c46179
Add download-only mode (#11041)
composer install --download-only to prime the cache/download archives but not do any actual of the actual installing

Fixes #11035

Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-10-12 13:56:35 +02:00
Jordi Boggiano 7df744531b
Merge branch '2.4' 2022-10-12 11:27:30 +02:00
Jordi Boggiano b2ebe841e4
Fixes plugin commands not being loaded during completion
Closes #11074

Co-authored-by: Susanne Moog <look@susi.dev>
2022-10-12 11:03:52 +02:00
Jordi Boggiano 8600894003 Update deps, constrain a few types to non-empty-strings 2022-10-12 09:19:36 +02:00
Jordi Boggiano 436a112651
Clarify temporary constraint usages and throw if an unresolvable constraint is provided 2022-10-11 13:34:45 +02:00
Kuba Werłos e870206c4a
Add "--dry-run" to bump command (#11047) 2022-09-19 08:45:49 +02:00
Jordi Boggiano 22bedfd8d8
Add autoconfiguration of gitlab-domains/github-domains when auth is present for custom domains, fixes #11062 2022-09-16 12:48:10 +02:00
Markus Staab de067ff0e8
remove unused variable in ValidatingArrayLoader (#11063) 2022-09-16 12:33:15 +02:00
Jordi Boggiano 8913d7cac6
Merge branch '2.4' 2022-09-14 16:11:46 +02:00
Jordi Boggiano aeaf12561b
Reverting release version changes 2022-09-14 16:11:15 +02:00
Jordi Boggiano 7d887621e6
Release 2.4.2 2022-09-14 16:11:15 +02:00
Jordi Boggiano a75fbf0e6a
Fix handling of plugin activation when running as root
When running without `COMPOSER_ALLOW_SUPERUSER` set so it always happens after prompting, or does not happen if input is non-interactive.

Also fixed support for bash completions hanging when running as root

Fixes #11024
2022-09-14 15:42:10 +02:00
Jordi Boggiano ef018748eb
Merge branch '2.4' 2022-09-14 14:02:28 +02:00
Gregor Harlan fc75efd711
`require` command: allow `—fixed` option for library dev dependencies 2022-09-14 14:01:51 +02:00
Jordi Boggiano ec8bbe9056
Fix package filter on bump command, fixes #11053 2022-09-14 14:00:27 +02:00
Jordi Boggiano 564f8bec24
Fix type error, fixes #11052 2022-09-14 13:23:17 +02:00
Jordi Boggiano 29d8eaf45d
Merge branch '2.4' 2022-09-14 10:51:03 +02:00
Jordi Boggiano 21045b942e
Fix type errors and update baseline (1854, 99) 2022-09-14 10:50:52 +02:00
Jordi Boggiano d63218c568
Fix type error 2022-09-14 09:48:44 +02:00
Jordi Boggiano c9973cf5a8
Merge branch '2.4' 2022-09-13 16:47:09 +02:00
Jordi Boggiano dbdf6af886
Fix type error 2022-09-13 16:46:18 +02:00
Jordi Boggiano adc16bf0af
Fix phpstan error 2022-09-13 16:28:15 +02:00
Jordi Boggiano 93bfe73b52
Merge branch '2.4' 2022-09-13 16:12:56 +02:00
Jordi Boggiano fb3cae4448
Fix type error in validating array loader when name is not set 2022-09-13 16:12:28 +02:00
Jordi Boggiano 02082905a3
Merge branch '2.4' 2022-09-13 15:17:04 +02:00
Kuba Werłos e94eff5412
Fix typo in remove command 2022-09-13 15:09:28 +02:00
Jordi Boggiano d2f37b5680
Add hint as to why a package is suggested to be added to require-dev, fixes #11040 2022-09-13 15:08:37 +02:00
Jordi Boggiano ab29ed5f97
Fix handling of upper-bound platform req ignores to not act on conflicts (#11037)
* Fix handling of upper-bound platform req ignores to not act on conflicts, fixes #11020

* Optimization
2022-09-13 14:50:27 +02:00
Jordi Boggiano 4164b30236
Fix show --platform regression failing if no composer.json exists, fixes #11046 2022-09-13 14:49:25 +02:00
Ondrej Mirtes 9bb436ec28
Update PHPStan 2022-09-01 21:51:49 +02:00
Jordi Boggiano 7ff288f081
Merge branch '2.4' 2022-08-31 12:42:29 +02:00
Jordi Boggiano c10854d3f3
Remove extra lines 2022-08-31 12:42:26 +02:00
Jordi Boggiano d0ac10ca6a
Merge branch '2.4' 2022-08-31 12:41:52 +02:00
Jordi Boggiano 5b754c797e
Remove extra lines 2022-08-31 12:26:58 +02:00
Jordi Boggiano 39de9899a7
Lock down include wrappers to avoid abuse from third parties (#11015) 2022-08-31 12:07:23 +02:00
Korvin Szanto 9306eebf0c
Update gitlab fetch failure message with new path (#11038)
`https://gitlab.com/-/profile/personal_access_token` is not correct, the current URL for personal access token settings is `https://gitlab.com/-/profile/personal_access_tokens`. This is the only occurrence of the bad URL, we use the proper URL elsewhere.
2022-08-31 10:43:54 +02:00
Jordi Boggiano c5932d810f
Merge branch '2.4' 2022-08-31 09:50:30 +02:00
Jordi Boggiano 3177b21324
Fix handling for double-zero prefix, refs #11032 2022-08-31 09:47:59 +02:00
Jordi Boggiano 7e0ac53fc4
Merge branch '2.4' 2022-08-30 20:47:34 +02:00
Jordi Boggiano 2d48c7dbb0
Fix handling of zero-major versions in outdated --major-only flag, fixes #11032 2022-08-30 20:45:07 +02:00
Ondřej Mirtes 13421f7d66
Config - always respect COMPOSER_DISCARD_CHANGES 2022-08-30 14:04:30 +02:00
Jordi Boggiano cd71cf47b3
Bump main to target 2.5 2022-08-20 13:13:59 +02:00
Jordi Boggiano afeaabe089
Reverting release version changes 2022-08-20 11:44:51 +02:00
Jordi Boggiano 777d542e3a
Release 2.4.1 2022-08-20 11:44:50 +02:00
Thomas Landauer ceb8bef778
Adding hint what "Direct dependencies" means (#11013) 2022-08-20 09:24:25 +02:00
Zan Baldwin d2d8474013
Do not apply non-array package links in ArrayLoader (#11008) 2022-08-20 08:58:17 +02:00
Zan Baldwin 51774693c7
Do not apply non-string package link constraints in ArrayLoader (#11009) 2022-08-20 08:34:38 +02:00