Jordi Boggiano
7f1808501a
Merge branch '2.2' into main
2022-01-21 17:35:00 +01:00
Jordi Boggiano
e8a1e25e9d
Reverting release version changes
2022-01-21 17:27:55 +01:00
Jordi Boggiano
32435a0a60
Release 2.2.5
2022-01-21 17:27:55 +01:00
Jordi Boggiano
8c0b4ff16b
Also retry for HTTP2 stream errors, fixes #10462
2022-01-21 17:09:54 +01:00
Jordi Boggiano
bab974575c
Merge branch '2.2' into main
2022-01-21 16:00:50 +01:00
Stephan
3b4afaa9e3
ArrayLoader/ValidatingArrayLoader: handle non-string values for version/version_normalized ( #10470 )
...
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2022-01-21 14:57:28 +01:00
David Buchmann
6b8f1409e4
report error if binary is a directory ( #10463 )
...
file_exists is true also for directory and symlink. but later in generateUnixyProxyCode we call `file_get_contents` on the binary, which fails with `file_get_contents(): read of 8192 bytes failed with errno=21 Is a directory` if the binary is a directory.
2022-01-21 14:52:39 +01:00
Jordi Boggiano
af6013093f
Ignore phar files in artifact repo, fixes #10406
2022-01-21 13:22:12 +01:00
John Stevenson
0228e5b47d
Clean up properly if self-update fails ( #10475 )
2022-01-21 12:55:42 +01:00
Jordi Boggiano
e3d99cac59
Fix phpstan issues, update baseline and pin PHPStan version in 2.2 branch ( #10474 )
2022-01-21 12:48:16 +01:00
John Stevenson
db64534b26
Fixed bin proxies on PHP < 8 to support stream_seek ( #10468 )
2022-01-21 10:09:58 +01:00
Nicolas Grekas
6a70161c01
Disable "composer/package-versions-deprecated" by default ( #10458 )
2022-01-17 15:28:07 +01:00
Jordi Boggiano
6de9cacfd8
Remove unnecessary sprintf
2022-01-13 11:34:20 +01:00
Jordi Boggiano
49541ce3fb
Merge branch '2.2' into main
2022-01-08 12:31:26 +01:00
Jordi Boggiano
d76485af74
Reverting release version changes
2022-01-08 12:30:43 +01:00
Jordi Boggiano
8a5ad75194
Release 2.2.4
2022-01-08 12:30:42 +01:00
Dane Powell
93d4c8e531
Fix #10366 : Improve messaging when GitHub tokens need SSO authorization ( #10432 )
2022-01-08 12:03:54 +01:00
Jordi Boggiano
13bd2120e9
Merge branch '2.2' into main
2022-01-07 15:04:08 +01:00
Jordi Boggiano
24b62a1002
Add support for sourcing binaries despite the bin proxy being present, take 2
2022-01-07 15:04:02 +01:00
Jordi Boggiano
e2ba625a93
Merge branch '2.2' into main
2022-01-07 14:29:59 +01:00
Jordi Boggiano
6dea58c9f3
Add support for sourcing binaries despite the bin proxy being present
...
Fixes https://github.com/composer/composer/issues/10389#issuecomment-1007372740
2022-01-07 14:28:53 +01:00
Jordi Boggiano
3d6bf8c98d
Merge branch '2.2' into main
2022-01-07 13:59:04 +01:00
Jordi Boggiano
641ad10a9f
Fix partial update where path repos are being auto-unlocked two levels deep not loading all packages properly, fixes #10431
2022-01-07 13:46:58 +01:00
Jordi Boggiano
3844e05ac1
Merge branch '2.2' into main
2022-01-07 12:59:48 +01:00
Jordi Boggiano
64d39a9655
Fix phpstan error
2022-01-07 12:46:13 +01:00
Jordi Boggiano
f1568f1f8f
Merge branch '2.2' into main
2022-01-07 09:30:43 +01:00
Jordi Boggiano
0b436de794
Fix last bit phpstan error
2022-01-07 09:29:35 +01:00
Jordi Boggiano
508ac051ec
Revert "Remove getCode usage as it is not type safe apparently, see https://github.com/phpstan/phpstan-src/pull/795 "
...
This reverts commit 84f8fda0c6
.
And other issues fixed by PHPStan 1.3.2
2022-01-07 09:26:37 +01:00
Stephan
9360e2c18a
GitLab: detect repository functionality disabled in Driver ( #10440 )
2022-01-06 15:06:38 +01:00
Jordi Boggiano
5e4a8a882d
Allow ProcessExecutor to receive commands as arrays, refs #6552 ( #10435 )
2022-01-06 13:56:12 +01:00
Jordi Boggiano
7d1aa65239
Merge branch '2.2' into main
2022-01-05 16:52:18 +01:00
Jordi Boggiano
cb41ad1d4b
Ensure process timeouts are checked also for async processes
2022-01-05 16:49:36 +01:00
Jordi Boggiano
3a27cb2e91
Merge branch '2.2' into main
2022-01-05 15:45:18 +01:00
Jordi Boggiano
c2cdc3eb71
Deduplicate code
2022-01-05 15:44:46 +01:00
Jordi Boggiano
b96c419ee5
Merge pull request #10430 from Seldaek/add_links
...
Add links to repo to show/outdated commands package lists
2022-01-05 14:55:33 +01:00
Jordi Boggiano
ef2b52ee5b
Make the package name bold in plugin activation warnings
2022-01-05 14:43:30 +01:00
Jordi Boggiano
f9d61c0665
Add links to repo to fund/licenses/search commands and add links to docs to config command
2022-01-05 14:39:08 +01:00
Jordi Boggiano
06bb3c9179
Add links to repo to show/outdated commands package lists, fixes #9367
2022-01-04 17:34:27 +01:00
Jordi Boggiano
711f436b24
Use finally to restore error handler after command runs
2022-01-04 16:31:45 +01:00
Jordi Boggiano
99fa6116f9
Merge branch '2.2' into main
2022-01-04 16:31:36 +01:00
Jordi Boggiano
404c58a17f
Merge pull request #10428 from Seldaek/deprecations
...
Deprecations & more php version cleanups
2022-01-04 16:30:55 +01:00
Jordi Boggiano
8473592eda
Revert "Fix support for .jar binaries, fixes #10426"
...
This reverts commit fa65804c99
.
2022-01-04 16:19:29 +01:00
Jordi Boggiano
0be1e5a279
Merge branch '2.2' into main
2022-01-04 14:58:07 +01:00
Jordi Boggiano
fa65804c99
Fix support for .jar binaries, fixes #10426
2022-01-04 14:55:56 +01:00
Jordi Boggiano
06e445ce02
Drop PHP <7.2 and HHVM support from autoload_real, individual autoload files are kept as is for BC
2022-01-04 11:55:36 +01:00
Michael Voříšek
4fdc8b8ee1
dirname(__FILE__) no longer needed
2022-01-04 11:22:13 +01:00
Jordi Boggiano
7e50f37b87
Remove some dead code and deprecate JsonFormatter, JsonFile::JSON_* constants, and TlsHelper
2022-01-04 11:15:33 +01:00
Alexander M. Turek
36da81bec2
Remove obsolete Symfony feature detections ( #10425 )
2022-01-04 10:41:33 +01:00
Niels Vanpachtenbeke
1c928466a9
Remove code blocks for php <7.2 compatibility ( #10417 )
2022-01-03 17:35:32 +01:00
Jordi Boggiano
0ece276c7c
Get rid of redundant \Exception catch blocks
2022-01-03 16:32:40 +01:00
Jordi Boggiano
4e6d54b731
Fix all 5.3 $this-in-closure usages
2022-01-03 16:32:39 +01:00
Jordi Boggiano
5805a68645
Fix some todos dropping support for older Symfony releases
2022-01-03 14:51:41 +01:00
Jordi Boggiano
7e27a25070
Get rid of RetutnTypeWillChange where possible, fixes #10014
2022-01-01 15:38:47 +01:00
Jordi Boggiano
0b3adc84da
Fix a few phpstan errors and add a php8+ baseline for the rest
2022-01-01 14:54:24 +01:00
Jordi Boggiano
e4e0e0d154
Remove deprecations baseline
2022-01-01 14:54:22 +01:00
Jordi Boggiano
ed08c40ab5
Fix phar build
2022-01-01 14:54:22 +01:00
Jordi Boggiano
96486d81cb
Fix many PHPStan issues and update baseline
2022-01-01 14:54:21 +01:00
Jordi Boggiano
32dcb93f24
Update extra files for latest polyfill lib
2022-01-01 14:54:21 +01:00
Jordi Boggiano
ffd62795bc
Get rid of all the ->at() mock invocations
2022-01-01 14:54:20 +01:00
Jordi Boggiano
095c36ecf8
Fix some PHPStan errors/..
2022-01-01 14:54:20 +01:00
Jordi Boggiano
bf72afec44
Fix Symfony6 compat
2022-01-01 14:54:19 +01:00
Jordi Boggiano
d2ede370be
Bump target version, bump PHP and dependency requirements to PHP 7.2+
2022-01-01 14:54:18 +01:00
John Stevenson
4829a401d8
Fix symlink resolution in shell proxy ( #10412 )
2021-12-31 21:56:46 +01:00
Jordi Boggiano
d965c26c5c
Reverting release version changes
2021-12-31 12:18:54 +01:00
Jordi Boggiano
3c92ba5cdc
Release 2.2.3
2021-12-31 12:18:53 +01:00
Jason Woods
efc7a3f75f
fix: Do not optimise away packages due to a requirement by a locked package that will be uninstalled ( #10405 )
...
Fixes #10394
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-12-31 11:49:42 +01:00
Jordi Boggiano
75e4d30151
Fix warnings when some code reuses the phpvfscomposer:// stream wrapper to try and access other files, refs #10387
2021-12-31 10:33:54 +01:00
Jordi Boggiano
2cd16b4578
Suppress errors if realpath fails or is missing
2021-12-30 21:52:57 +01:00
Jordi Boggiano
390260c6a6
Resolve binary realpath to make sure symlinking bin proxies works, refs jakzal/phpqa#336
2021-12-30 21:49:20 +01:00
Jordi Boggiano
d1d5d75c5f
Fix detection of PHP files to match also broken ones with leading whitespace or whitespace between shebang and <?php, refs jakzal/phpqa#336
2021-12-30 21:23:29 +01:00
Jordi Boggiano
84f8fda0c6
Remove getCode usage as it is not type safe apparently, see https://github.com/phpstan/phpstan-src/pull/795
2021-12-30 21:06:27 +01:00
Jordi Boggiano
09d1330937
Fix is_file() not working on the phpvfscomposer:// file when filtering phpunit backtraces, refs #10387
2021-12-30 20:49:44 +01:00
Jordi Boggiano
164a769dc6
Avoid returning actual fstat information as it induces modern PHPs in error when the returned file size is bigger than the fstat size, refs #10387
2021-12-30 20:40:55 +01:00
Jordi Boggiano
a2a8fa4e7e
Always exclude laminas/laminas-zendframework-bridge:src/autoload.php, fixes #10401
2021-12-30 10:44:36 +01:00
Jordi Boggiano
2a731ef798
Add workaround for PHPUnit process isolation issues for PHPUnit <6.5 as well, fixes #10387
2021-12-30 10:42:35 +01:00
Jordi Boggiano
0a85c3fb01
Reverting release version changes
2021-12-29 14:15:28 +01:00
Jordi Boggiano
2c1887d4f2
Release 2.2.2
2021-12-29 14:15:27 +01:00
Jordi Boggiano
4168ee9b69
Reformat plugin warning slightly, fixes #10381
2021-12-29 13:41:54 +01:00
Shyim
70425900e9
Fix symfony error handler warnings, fixes #10397 ( #10404 )
2021-12-29 13:30:50 +01:00
Jordi Boggiano
a8ed352b31
Add docs for the new bin-dir access and bump runtime-api, refs #10402
2021-12-28 22:04:32 +01:00
Jordi Boggiano
6f5baab77b
Make COMPOSER_BIN_DIR env or _composer_bin_dir global available to binaries, fixes #10389 ( #10402 )
2021-12-28 21:31:52 +01:00
Jordi Boggiano
c1c6698799
Fix phpunit workaround syntax
2021-12-23 13:57:18 +01:00
Jordi Boggiano
7d1ca1f56d
Add workaround for PHPUnit process isolation combined with bin proxies, fixes #10387
2021-12-23 12:38:35 +01:00
Jordi Boggiano
406075891d
Reverting release version changes
2021-12-22 22:21:32 +01:00
Jordi Boggiano
bbc265e165
Release 2.2.1
2021-12-22 22:21:31 +01:00
Jordi Boggiano
e1bf45aa80
Fix issue parsing php files with unterminated comments found inside backticks, fixes #10385
2021-12-22 21:42:19 +01:00
Jordi Boggiano
226689b90c
Fix plugin autoloading including files autoload rules from the root package, fixes #10382 ( #10386 )
2021-12-22 16:04:34 +01:00
Jordi Boggiano
25835bb5cd
Reverting release version changes
2021-12-22 11:03:28 +01:00
Jordi Boggiano
e174a4c432
Release 2.2.0
2021-12-22 11:03:27 +01:00
Jordi Boggiano
613980b039
Update baseline
2021-12-22 11:00:06 +01:00
Jérôme Tamarelle
f0060b7f56
Use web URLs for Gitlab support metadata ( #10377 )
2021-12-22 10:54:48 +01:00
Jordi Boggiano
54123e4093
Fix autoloader compatibility with older releases of laminas/laminas-zendframework-bridge, refs #10349
2021-12-22 10:49:06 +01:00
Jordi Boggiano
71ab70d847
Disable files autoloading for scripts to avoid untrusted code execution at runtime ( #10373 )
2021-12-20 14:27:34 +01:00
Jordi Boggiano
8f1b3d21db
Add --no-scripts to all commands and disable plugins/scripts when running self-update ( #10371 )
...
* Add --no-scripts as global parameter available to all commands, and handle it by default when creating a Composer instance from Command::getComposer
* Disable scripts/plugins for self-update command, fixes #10351
2021-12-20 14:23:35 +01:00
Jordi Boggiano
24eac88321
Switch the default version in path repo packages to dev-main and add a dev-master alias for BC, fixes #10360 ( #10372 )
2021-12-20 13:42:11 +01:00
Jordi Boggiano
95e41ae61c
Fix phpstan
2021-12-19 16:12:22 +01:00
Jordi Boggiano
d81298239b
Fix display of conflicts when a rule has the conflicter out of order, fixes #10355
2021-12-19 16:07:20 +01:00
Jordi Boggiano
0dbc736eb7
Reverting release version changes
2021-12-08 15:17:19 +01:00
Jordi Boggiano
35bba53ebb
Release 2.2.0-RC1
2021-12-08 15:17:19 +01:00
Jordi Boggiano
4e8f3e85e2
Improve error reporting for repo priorities, refs #10339
2021-12-08 14:01:26 +01:00
Jordi Boggiano
cc32ebcabd
Search improvements ( #10336 )
...
* Search performance improvements, add SEARCH_VENDOR type, fixes #10326 , fixes #10324 , fixes #10325
* Add extra optimization path for autocompletion of ^foo/* whereas the vendor is fully known, refs #10320
2021-12-08 11:45:18 +01:00
Jason Woods
8c8d9efd87
Filter impossible packages from the pool ( #9620 )
...
Adds a new pass to the PoolOptimizer
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-12-08 11:42:36 +01:00
Jordi Boggiano
a3e91b5be6
Add allow-plugins config value ( #10314 )
...
Fixes #5659
- Automatically switch off plugins by default in July 2022
- reword hash into object in schema
Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-12-07 23:00:48 +01:00
Jordi Boggiano
a4a89f1508
Update archive format docs, refs #10087
2021-12-07 15:56:35 +01:00
Jordi Boggiano
ca5d5b40ee
Fix platform package description for replacer/provider and packages which are not really loaded in general
2021-12-07 13:24:09 +01:00
Jordi Boggiano
e30a6b0b9b
Add support for ignoring the upper bound of platform requirements using "name+" notation
2021-12-07 13:24:08 +01:00
Jordi Boggiano
24ce1eddbd
Add composer/pcre dependency and use it everywhere instead of preg_*
2021-12-07 12:37:19 +01:00
Tizian Schmidlin
4f789a5f6d
Add "use-parent-dir" config to configure prompt when no composer.json is present in current dir ( #10307 )
...
Fixes #10299
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-12-04 15:00:28 +01:00
Jordi Boggiano
1cfdaf43f1
Fix new file being leftover if require in new dir fails to resolve requirements
2021-12-04 14:56:32 +01:00
Jordi Boggiano
b42a897ebe
Fix var name
2021-12-04 13:41:16 +01:00
Wataru Kurashima
10f8edb816
fix typo ( #10331 )
2021-12-04 07:48:28 +01:00
Jordi Boggiano
128a2648fb
Optimize name only search with preg_grep, refs #10326
2021-12-03 14:54:17 +01:00
Jordi Boggiano
7c8267f57c
Cache root packages.json, refs #10326
2021-12-03 14:49:41 +01:00
Helmut Hummel
483eac1c2f
Install full binaries on Windows by default ( #10327 )
...
A bug was introduced in #10137 that leads
to the situation that by default .bat binaries
are not installed on Windows any more.
Check the correct variable to install .bat
files on Windows by default again.
2021-12-03 11:16:58 +01:00
Stephan
f5ffedfe60
Fix VcsDrivers initialization of tags and branches, and VcsRepository swallowing exceptions ( #10319 )
...
* Drivers: avoid early initialize of tags and branches
* VcsRepository: do not continue if fetching root information fails because of unexpected exceptions
Also rethrow 5XX exception in addition to select 4XX exceptions
2021-11-30 14:33:38 +01:00
Jordi Boggiano
8a36c88cac
Get rid of $binPath global in bin proxies
2021-11-29 09:39:13 +01:00
Helmut Hummel
ace8a1776c
Add composer platform package with exact Composer version ( #10313 )
...
Co-authored-by: Lars Strojny <lars.strojny@internations.org>
Co-authored-by: Nils Adermann <naderman@naderman.de>
2021-11-27 14:26:57 +01:00
Shalvah
7a3d2b8157
Better hint for missing extensions ( #10283 )
2021-11-26 10:39:07 +01:00
Nils Adermann
645e5245dd
Error message grammar fix
2021-11-26 10:09:02 +01:00
Helmut Hummel
0b9e1da4fc
Allow recursively call composerRequire ( #10312 )
...
Fixes : #10311
Related: #10065
2021-11-25 20:50:26 +01:00
Jordi Boggiano
a6fc1ab663
Fix feedback
2021-11-25 15:18:24 +01:00
Jordi Boggiano
4352f23962
Fix implementation & tweak test
2021-11-25 15:06:00 +01:00
Jordi Boggiano
bd4ba36fa9
Prevent auto-unlocked path repo packages from also unlocking their transitive deps when -w/-W is used
2021-11-25 15:05:09 +01:00
Jordi Boggiano
d86049565d
Deactivate plugins before recreating a new composer instance and loading new plugins in require/remove commands, fixes #9962
2021-11-25 15:03:23 +01:00
Jordi Boggiano
91548d178b
Add support for setting platform packages to false to disable them ( #10308 )
...
Fixes #9664
2021-11-25 14:46:25 +01:00
Jordi Boggiano
2c1ff41f8f
Fix phpstan
2021-11-25 12:37:51 +01:00
Jordi Boggiano
032db5bc01
Fix tests
2021-11-25 12:33:59 +01:00
Jordi Boggiano
deaec7c0ac
Report validation error if a package replaces and conflicts against the same name, fixes #9845
2021-11-25 10:21:37 +01:00
Jordi Boggiano
c15eba3fe3
Turn naming errors into hard failures in validating array loader
2021-11-25 10:21:37 +01:00
Helmut Hummel
f12a5b8214
Expose path to autoload in a global var for binaries ( #10137 )
...
Always create proxy files for package binaries,
to avoid not working binaries in case the package
was installed from a path repository and is itself linked
If the binary is a PHP script, a global variable is now exposed,
which holds the path to the vendor/autoload.php file.
This variable can the be used in the binaries to include this file
without guessing where the path to the vendor folder might be.
Additionally it is now checked on binary creation whether
the reference binary has a shebang and if not, generates
a much simple proxy code, because the stream wrapper code,
that is required for PHP <8 to omit the shebang from the output,
can be skipped.
Fixes : #10119
Co-authored-by: Jordi Boggiano <j.boggiano@seld.be>
2021-11-25 09:53:03 +01:00
Jordi Boggiano
126f95a8d7
Get rid of gitignore/hgignore handling ( fixes #7358 ), Add support for -export-ignore ( fixes #9153 )
2021-11-24 22:56:51 +01:00
Jordi Boggiano
cc3b53bc2e
Also mark @putenv and @php deprecated/forbidden as script names to avoid clashes
2021-11-24 22:30:57 +01:00
Jordi Boggiano
1b5b5c48bf
Bump plugin api version, fixes #10082
2021-11-24 16:35:58 +01:00
Jordi Boggiano
7e3626362e
Add support for warnings/infos keys to report more complex information to diverse Composer versions
2021-11-24 16:00:57 +01:00
Yehuda Katz
ebf4cbdc69
Add COMPOSER_NO_DEV environment variable to set the --no-dev flag ( #10262 )
2021-11-24 11:32:19 +01:00
Rafael Dohms
78583ab678
Support ignore-platform-reqs in `composer outdated` ( #10293 )
...
This allows users to also find libraries that require major platform
changes to unlock updates.
It addresses #10291 .
2021-11-23 17:16:58 +01:00
Jordi Boggiano
bac7b826f2
Revert "To be reverted: Disable pool optimizer by default, run solver twice and compare outputs if user opts into optimizer"
...
Enables pool optimizer by default
This reverts commit c06be086a6
.
2021-11-23 17:05:10 +01:00
Jordi Boggiano
bbc442b0ad
Undo changes to providers, only unlock replacers when unlocking a given name
2021-11-23 16:11:44 +01:00
Jordi Boggiano
3242de2438
Backport tests from #9538 and fix everything
2021-11-23 13:07:19 +01:00
Jordi Boggiano
13b7527fca
Fix unlocking of replacers when a replaced package is unlocked in partial updates
2021-11-23 13:00:28 +01:00
Stephan
63b5cbe000
GitDownloader: add option for single use git clone to avoid --dissociate when cloning from local copy ( #10288 )
2021-11-17 19:53:10 +01:00
Jordi Boggiano
7fc9000834
Also retry for SSL connection failures, refs #10124
2021-11-17 11:02:43 +01:00
Jordi Boggiano
f509c41280
Upgrade PHPStan to 1.0 ( #10253 )
...
Co-authored-by: Martin Herndl <martin@herndl.org>
2021-11-14 20:42:24 +01:00
Jordi Boggiano
61b50cb7ec
Remove hack from ComposerRepository, fixes #9297
2021-11-13 13:25:25 +01:00
Jordi Boggiano
65765a148a
Explicitly deprecate misuse of the link setters to enforce the fact they expect maps ( #10281 )
2021-11-12 21:38:08 +01:00
Nicolas Grekas
0662fa2662
Fix loading files for plugins/scripts ( #10279 )
2021-11-12 09:44:34 +01:00
Jordi Boggiano
410771af36
Merge pull request #10274 from func0der/add_sorting_to_archiving
...
Add name sorting to ArchivableFilesFinder.
2021-11-12 09:03:53 +01:00
Jordi Boggiano
c06be086a6
To be reverted: Disable pool optimizer by default, run solver twice and compare outputs if user opts into optimizer
2021-11-11 16:30:39 +01:00
Jordi Boggiano
ce2a40b259
List identical/compatible removed versions in problem output as if they had not been removed
2021-11-11 16:13:25 +01:00
Yanick Witschi
34183f49f9
Implemented PoolOptimizer
2021-11-11 16:13:24 +01:00