6747 Commits (6b48258432f1d166744cebc5bc23b18e69716de9)

Author SHA1 Message Date
Jordi Boggiano 191196de48
Detect broken packagist.org mirrors and fix them on the fly, refs #9297 4 years ago
Jordi Boggiano 62eff8e979
Tweaks to new proxying code, refs #9324 4 years ago
Jordi Boggiano 62fd612e63
Merge remote-tracking branch 'johnstevenson/curl-proxy' 4 years ago
Jordi Boggiano 0d236858ec
Merge branch '1.10' 4 years ago
Jordi Boggiano 25496c199d
Update link to composer 2 release notes 4 years ago
Jordi Boggiano 28c7e38411
Merge remote-tracking branch 'stof/fix_why_not' into 1.10 4 years ago
johnstevenson d47261eb93 Refactor proxy handling for Composer2 4 years ago
Nils Adermann e868996bdd Validate: Warn about providing or replacing packages you require 4 years ago
Jordi Boggiano 8564dd8dac
Allow Url::sanitize to escape URLs without scheme 4 years ago
johnstevenson 8feb83b22b
Remove duplicate StreamContextFactory ssl options
Added in Dec 2014 (commit 8dad846), superseded in Jan 2016 (pr #4759)
4 years ago
Jordi Boggiano 49a28f606c
Merge branch '1.10' 4 years ago
Christophe Coevoet 3dd7e829b9 Fix support of provided packages in the why-not command
The version provided by such a rule is defined by the constraint of the
rule, not by the package version.
4 years ago
Nils Adermann dacc21e54f
Merge pull request #9158 from infabo/patch-1
Fix symlink check
4 years ago
terry.kern 0466add822 Also use channel string for update message
https://github.com/composer/composer/pull/9305#issuecomment-714381153
4 years ago
TerryKern e68b52697b Improve readability of version info message
Instead of:

> You are already using composer version 1.10.15 (1 channel).

it shows:

> You are already using composer version 1.10.15 (1.x channel).
4 years ago
Nils Adermann 6409ed0fc2 Validate: Warn about providing or replacing packages you require 4 years ago
Jordi Boggiano b74afd772b
Merge pull request #9309 from naderman/fix-solver-9290
MultiConflictRule conflict analysis handling on level 1 decisions
4 years ago
Nils Adermann 9338401be7 CS: Typehint array, remove unnecessary docblock, call spl_object_hash once 4 years ago
Nils Adermann 7b4cb9c370 Solver: Prevent infinite recursion in analyzeUnsolvableRule
In complex scenarios reasons for learned rules can themselves be learned
rules caused by other learned rules which had the some of the same
reasons. In this situation iterating over all problem rules requires
keeping track of which rules have previously been analyzed to avoid and
endless loop.

Side effect is that the sorting of problems including learned rules
changes slightly.
4 years ago
Nils Adermann 9641ad6025 SolverProblemException: Hide learnt rules on output
Results in too much error output which is not helpful. Very repetitive
and hard to understand. In issue 8903 even leads to endless recursion
bug.
4 years ago
Nils Adermann 7f41698157 Solver: on analyze, when reaching last decision > l1 skip other multi rule literals 4 years ago
Jordi Boggiano 14ec957e96
Fix composer show -a usage, fixes #9304 4 years ago
Jordi Boggiano 99a5469b5e
More hints 4 years ago
Chauncey McAskill 1bb87babe6 Fix availability of $urls in FileDownloader
Fixed:
- Ensure manipulations to the first element of $urls in the $download callback are available in $accept and $reject
4 years ago
Jordi Boggiano c46b75de81
Allow any non-numeric version to be used for flex as we can not establish if they are compatible 4 years ago
Jordi Boggiano 59acf9d4aa
Remove dev hint for 2.0, fixes #8738 4 years ago
Ingo Fabbri 750172dc4c
Fix symlink check
Given you have a symlink in one of your path repositories and mirroring-strategy enabled.

```bash
lrwxrwxrwx 1 inf inf    8 27. Aug 17:41 Create.html -> New.html
-rw-r--r-- 1 inf inf  750 27. Aug 17:24 Edit.html
-rw-r--r-- 1 inf inf    0 27. Aug 17:24 List.html
-rw-r--r-- 1 inf inf 5064 27. Aug 17:24 New.html
-rw-r--r-- 1 inf inf  716 27. Aug 17:24 Show.html
```

`$file->getLinkTarget()` just returns a relative path in this example. It does not return an absolute normalized path.
`$sources` is always a normalized path.

`strpos` can never be `0`.

Use `$file->getRealPath()` to fix the strpos-check.
4 years ago
Jordi Boggiano 2ca2ec3d0a
Allow loading flex main branch 4 years ago
Jordi Boggiano 743d551399
Fix using show command to show platform packages, and allow using it to show replacers too by using the replaced name, fixes #7628 4 years ago
Jordi Boggiano 8d0596163c
Rename abstract class back to the previously present SolverOperation, mark it internal, reintroduce some duplication 4 years ago
Bezpiatov 140de5480d Fixed variable usage 4 years ago
Bezpiatov 9a5121ed27 Refactor Operation classes to use constants instead of strings for comparison 4 years ago
Jordi Boggiano e7d99c37b3
Fix show --locked to avoid listing all the things 4 years ago
Jordi Boggiano da1357c663
Avoid showing alias versions in show command, show the original version 4 years ago
Jordi Boggiano 9492dc7f7c
Make sure symfony/flex does not get loaded in a buggy version to avoid bogus issue reports 4 years ago
Jordi Boggiano c5d8a13bc4
Bump curl timeout to 300 4 years ago
Jordi Boggiano 34dd9e19e1
Add curl/zip ext info to diagnose command 4 years ago
Nils Adermann 8a2bae82ab Improve docblocks on fixed/locked/fixedLocked packages in request
Also fixes two small code review issues
4 years ago
Nils Adermann fdde9e5933 On composer install we fix locked packages, but consider them locked for error reporting 4 years ago
Nils Adermann 74fb313c39 Separate locked packages from fixed packages in request
Locked packages are basically like removable fixed packages, so we still
only load one version, but we do not require their installation unless
something the user needs requires their use. So they automatically get
removed if they are no longer needed on any update.
4 years ago
Nils Adermann 73e24ea9fb Partial updates should remove all unused dependencies
Instead of marking locked packages as fixed, we change the pool builder
to load only the locked version and treat it like a fixed package, but
removing the actual request fix, makes the solver treat it as a regular
optional dependency. As a consequence locked packages may be removed on
a partial update of another package, but they cannot be updated.
4 years ago
Nils Adermann 85eb007f4f Transaction: Define a total order on packages to keep behavior on PHP8
So far the ordering of alias packages with the same name was undefined
so the actual order was determined by implementation of the sorting
algorithm in PHP. As of PHP8 sort is stable by default which changes the
outcome in some of our test cases.

With the fully defined total order the order can longer change depending
on sorting algorithm used and remains the same across PHP versions.
4 years ago
Jordi Boggiano 9ca7457698
Check whether remove command successfully removed the target packages, fixes #6998 4 years ago
Jordi Boggiano 7ea6d5d2e7
Merge branch '1.10' 4 years ago
Jordi Boggiano aac1a25ee3
Merge pull request #9278 from Seldaek/plugin-helpers
Plugin helpers for v2
4 years ago
Nicolas Grekas 4feed8b85c Fix parsing "branch-version" 4 years ago
Jordi Boggiano bafdf9f705
Merge branch '1.10' 4 years ago
Jordi Boggiano d2d606ced2
Merge pull request #9273 from nicolas-grekas/dev-version
Add support for "extra.branch-version"
4 years ago
Nicolas Grekas 893fbfcb89 Add support for "extra.branch-version" 4 years ago
Jordi Boggiano 8ad33298ff
Fix regression, refs #9204 4 years ago
Jordi Boggiano badd1f2146
Remove silly default values of false on Installer class, refs #9204 4 years ago
Jordi Boggiano 24abd233ec
Merge branch 'master' into code-improvements 4 years ago
Jordi Boggiano 3c25d180e6
Add detailed notes about events in upgrade guide, add COMPOSER_DEBUG_EVENTS env var for debugging events 4 years ago
Jordi Boggiano f87b1642bc
Expand docs 4 years ago
Jordi Boggiano 431dc0d526
Add sync helper to give plugins utilities to work with async stuff more easily when one does not care about async 4 years ago
Jordi Boggiano 7917a7e757
Allow fetching the http downloader and process executor from the loop 4 years ago
Jordi Boggiano 0775e261c5
Merge remote-tracking branch 'lstrojny/apcu-prefix' 4 years ago
Jordi Boggiano a1b781a302
Merge pull request #9220 from ffraenz/pr
Composer 2: Adapt file download cache keys to changed processed URLs
4 years ago
Jordi Boggiano adeabdbd56
Merge branch '1.10' 4 years ago
Jordi Boggiano bc1cb1636d
Remove dead code, fixes #9277 4 years ago
Jordi Boggiano 09ef026d43
Remove OperationInterface::getReason, closes #9230, closes #9263 4 years ago
Jordi Boggiano d204eb4814
Merge branch '1.10' 4 years ago
Jordi Boggiano 6bf136489f
Ignore the COMPOSER env var when executing global scope commands, fixes #9259 4 years ago
Jordi Boggiano 9c4b00be67
Add -w/-W to docs, refs #9257 4 years ago
Jordi Boggiano de3de0697e
Merge pull request #9257 from flavioheleno/improv/short-with-deps
With-dependencies alias
4 years ago
Jordi Boggiano 6f77c5f5ea
Avoid adding aliased locked packages twice in the LockArrayRepository, fixes #9240 4 years ago
Jordi Boggiano 9528ce7057
Fix invalid usage of Link class, fixes #9252 4 years ago
Jordi Boggiano f966de94a9
Merge branch '1.10' 4 years ago
Jordi Boggiano 159bb84fa6
Allow running the config command to disable tls even if openssl is not present, fixes #9198 4 years ago
Jordi Boggiano 28fe3baf9c
Disable secure-http automatically when disable-tls is enabled, fixes #9235 4 years ago
Jordi Boggiano 03b8c3db3f
Merge branch '1.10' 4 years ago
Jordi Boggiano 791bbc80a4
Backport some fixes from 2.0, and fix sorting to sort remote branches after local ones, refs #9270 4 years ago
Jordi Boggiano 6698e0bafa
Merge remote-tracking branch 'naderman/version-guess-remotes' into 1.10 4 years ago
Nils Adermann b3c465d55a VersionGuesser: local branches still need to be considered 4 years ago
Nils Adermann ad643d9957 VersionGuesser: Analyze remote origin and upstream branches too 4 years ago
Fränz Friederes 369c2ff552
Implement PR code style feedback 4 years ago
Grégoire Pineau bfb4abfb56
Fixed description of StatusCommand: It do list all changes in vendor, not only for "source" ones
I tested it, and even with "dist" packages, the status command is able to find modified vendor 
(And that's amazing, thanks)
4 years ago
Flavio Heleno 9d544d98b3 Added short flags for 'with-dependencies' and 'with-all-dependencies' 4 years ago
Graham Campbell 0eb31bd027
Fixed incorrect private annotation 4 years ago
Simon Berger 2223b93efd Several small code improvements 4 years ago
Simon Berger 80d71ccb3f Merged isset, unset and str_replace calls 4 years ago
Jordi Boggiano d6b39b4c55
Fix syntax error & improve handling 4 years ago
Christophe Coevoet bcd8a73e8c
Fix support for running diagnose without openssl
The diagnose command already warns when openssl is not available. But the command was failing later when displaying the Openssl version.
4 years ago
Michael Telgmann a4509d28e7
Introduce constants for Composer\Package\Link types 4 years ago
Michael Telgmann 4f4c299015
Add pretty constraint to links in PlatformRepository
fixes #9210
4 years ago
Jordi Boggiano 2a36c3a70a
Minor tweaks 4 years ago
Simon Berger 4e8a36556c Removed deprecated code from 1.x 4 years ago
Simon Berger 974e7ba296 Removed unneccesary elseifs 4 years ago
Simon Berger 80a75e9959 Minor code improvements 4 years ago
Simon Berger 7053b6f761 Fixed function case declaration <> call 4 years ago
Simon Berger 33d7a64df9 Removed unused private functions 4 years ago
Simon Berger a6475a7118 Removed unused variables, properties and parameters of private functions 4 years ago
Simon Berger 002fd39bc6 Removed passing of parameters with default value 4 years ago
Simon Berger cda6e8bea6 Removed unnecessary property initialization or declaration 4 years ago
Simon Berger 6b3b51e299 Fixed $this usage on static functions 4 years ago
Fränz Friederes 7a49cda9f6
Fix PHPDoc types on new PreFileDownloadEvent property 4 years ago
Lars Strojny 696f27ca83
Enable APCu if prefix is set 4 years ago
Fränz Friederes a1a3e29f52
Fix using inside anonymous function 4 years ago
Lars Strojny 6899060f6e
Remove superfluous use 4 years ago
Fränz Friederes 57e1ce6cdb
Change the file download cache key with the processed URL, implement custom cache key 4 years ago
Lars Strojny 7db8b33a9e
Restore 4 years ago
Lars Strojny 0b6abf3b96
APCu prefix as a separate option 4 years ago
Lars Strojny de0085767c
Sanitize prefix 4 years ago
Lars Strojny dafd225a35
Allow to pass a string for apcu-autoloader to set the APCu prefix 4 years ago
Jordi Boggiano 99300f6dc0
Merge pull request #9206 from staabm/patch-3
Improve error message further
4 years ago
Markus Staab cf9786f112
Improve error message further 4 years ago
Simon Berger 74e02193a8 Do not hard fail on lazy repository when network is disabled and no package cache exists 4 years ago
Jordi Boggiano 6cf4ba051c
Update messaging about plugin errors 4 years ago
Jordi Boggiano bb96b04f4a
Remove dead code 4 years ago
Jordi Boggiano 2a82371adf
Rename available-package-regexes to available-package-patterns and switch negated function around, refs #9197 4 years ago
Mike Baynton 66a767c065 specify covered names with regexes in 2.x repos
This supplements the available-packages list so that repositories may
rule themselves out of a given name (and thus not be probed with lazy
load requests) by regex, as well as by exact name match.

The use case is sizeable and varying supplemental Composer repositories
such as packages.drupal.org, which otherwise must either maintain a list
of over 10k package names in their root packages.json or accept lots of
lazy-load requests for unrelated packages that will 404.
4 years ago
Jordi Boggiano 0408207e35
Merge branch '1.10' 4 years ago
Jordi Boggiano 4a02768591
Fail hard if an invalid root alias is detected 4 years ago
Jordi Boggiano 6f91e038ea
Merge branch '1.10' 4 years ago
Jordi Boggiano c6d0309d48
Merge pull request #9188 from simonberger/fix-php53-closure-self-usage
Fix self usage in closures results in fatal error on PHP 5.3
4 years ago
Simon Berger 7ef87626ac Fixed self usage in closure fails on PHP 5.3 4 years ago
Jordi Boggiano 57b4016f8a
Show default value instead of optional, refs #9181 4 years ago
Jordi Boggiano 5555b04cea
Merge pull request #9181 from shrink/feature/create-project-package-prompt
 Ask for target directory when using `create-project`
4 years ago
Jordi Boggiano 7859fe72e8
Fix line wrapping 4 years ago
Jordi Boggiano 9dc125f79c
Fix cleanup of useless feature_versions 4 years ago
Simon Berger bae227ec2d Changed all substr calls used to compare fragments of text to strpos
Some additional code cleanups in those classes

Reverted change causing issues
4 years ago
Jordi Boggiano 8694077564
Merge pull request #9177 from simonberger/reduce-requests
Re-Fetch cached packages only once in a run
4 years ago
Jordi Boggiano cb3c71a18a
Always assume the cache file is fresh when loading a package again which was already loaded, even if it lacks a last-modified header. 4 years ago
Jordi Boggiano 943c7a6433
Merge pull request #9165 from bpesch/master
Performance improvements
4 years ago
Jordi Boggiano b8ebc7be5f
Revert a few changes to ConfigCommand 4 years ago
Jordi Boggiano b1cbc08ec0
Allow false as well as repository value, refs #9165 4 years ago
Jordi Boggiano cc1874e21b
Merge pull request #9179 from simonberger/fix-duplicated-code
Moved duplicated table render code to a new method in BaseCommand
4 years ago
Jordi Boggiano 45653c55d8
Handle authentication for api domains of GitHub/Bitbucket, fixes #9173 4 years ago
Jordi Boggiano e6b45e853a
Fix status command handling of symlinks, and especially broken ones, fixes #9169 4 years ago
Jordi Boggiano 199696d120
Fix undefined method call 4 years ago
Jordi Boggiano 070530534d
Merge pull request #9176 from glaubinix/t/remote-file-system-response-decode
Composer2 RemoteFileSystem: response decode for TransportException
4 years ago
Stephan 32a0563443 RemoteFileSystem: catch decode errors for content length mismatch 4 years ago
Jordi Boggiano fc462ab978
Merge branch '1.10' 4 years ago
Jordi Boggiano b159e4da7e
Merge pull request #9172 from Toflar/platform-repo-cleanup
Consistently reuse new PlatformRepository::isPlatformPackage()
4 years ago
Alexander M. Turek fc961dce70 Call call_user_func_array() with a numeric arguments array. 4 years ago
Samuel Ryan a66db48673
Ask for target directory when using `create-project` 4 years ago
Simon Berger 687f886d56 Moved duplicated table render code to a new method in BaseCommand 4 years ago
Simon Berger 9516d0dc98 Re-Fetch cached packages only once in a run 4 years ago
Stephan 3b2d91975e RemoteFileSystem: response decode for TransportException 4 years ago
Yanick Witschi bd6f62c535 Consistently reuse the new PlatformRepository::isPlatformPackage() method 4 years ago
Nils Adermann 4ac9f44571 Clear up PoolBuilder comment after code move 4 years ago
Stephan 773635e355 ComposerRepository: avoid notice if includes do not provide a sha1 4 years ago
Nils Adermann 7b990f3767 PoolBuilder: Move merging of constaints to be loaded into relevant section 4 years ago
Nils Adermann b2670945bd PoolBuilder: clear up comment, matching and identity are different for constraints 4 years ago
username fc87caf639 Provide correct parameter data type 4 years ago
username 113adbcd87 Sort conditions by cost 4 years ago
username 98462292c0 Sort conditions by cost 4 years ago
username abedc0dc42 Sort conditions by cost 4 years ago
username 17ae93bc9c Remove unnecessary method call 4 years ago
username 18009af023 Inline variable 4 years ago