1
0
Fork 0
Commit Graph

8105 Commits (8410643e654e4f036e20b9c6d2d07f05763cb6b6)

Author SHA1 Message Date
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