ramsey / php-library-starter-kit

:building_construction: A tool to quickly set up the base files of a PHP library project.
MIT License
244 stars 25 forks source link

chore(deps-dev): update composer/composer requirement from ^1.10 to ^2.0 #11

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Updates the requirements on composer/composer to permit the latest version.

Release notes

Sourced from composer/composer's releases.

2.0.0

Read the Composer 2.0 announcement first for the highlights!

Complete 2.0 Changelog

  • Breaking: This is a major release and while we tried to keep things compatible for most users, you might want to have a look at the UPGRADE guides
  • Many CPU and memory performance improvements
  • The update command is now much more deterministic as it does not take the already installed packages into account
  • Package installation now performs all network operations first before doing any changes on disk, to reduce the chances of ending up with a partially updated vendor dir
  • Partial updates and require/remove are now much faster as they only load the metadata required for the updated packages
  • Added a platform-check step when vendor/autoload.php gets initialized which checks the current PHP version/extensions match what is expected and fails hard otherwise. Can be disabled with the platform-check config option
  • Added a Composer\InstalledVersions class which is autoloaded in every project and lets you check which packages/versions are present at runtime
  • Added a composer-runtime-api virtual package which you can require (as e.g. ^2.0) to ensure things like the InstalledVersions class above are present. It will effectively force people to use Composer 2.x to install your project
  • Added support for parallel downloads of package metadata and zip files, this requires that the curl extension is present and we thus strongly recommend enabling curl
  • Added parallel installation of packages (requires OSX/Linux/WSL, and that unzip is present in PATH)
  • Added much clearer dependency resolution error reporting for common error cases
  • Added support for updating to a specific version with partial updates, as well as a --with flag to pass in temporary constraint overrides
  • Added automatic removal of packages which are not required anymore whenever an update is done, this will purge packages previously left over by partial updates and require/remove
  • Added support for TTY mode on Linux/OSX/WSL so that script handlers now run in interactive mode
  • Added only, exclude and canonical options to all repositories, see repository priorities for details
  • Added support for many new lib-* packages in the platform repository and improved version detection for some ext-* and lib-* packages
  • Added pre-operations-exec event to be fired before the packages get installed/upgraded/removed
  • Added pre-pool-create event to be fired before the package pool for the dependency solver is created, which lets you modify the list of packages going in
  • Added post-file-download event to be fired after package dist files are downloaded, which lets you do additional checks on the files
  • Added --locked flag to show command to see the packages from the composer.lock file
  • Added --unused flag to remove command to make sure any packages which are not needed anymore get removed
  • Added --dry-run flag to require and remove commands
  • Added --no-install flag to update, require and remove commands to disable the install step and only do the update step (composer.lock file update)
  • Added an --ask flag to create-project command to make Composer prompt for the install dir name, useful for project install instructions
  • Added support for multiple --repository flags being passed into the create-project command, only useful in combination with --add-repository to persist them to composer.json
  • Added --with-dependencies and --with-all-dependencies flag aliases to require and remove commands for consistency with update
  • Added shorthand aliases -w for --with-dependencies and -W for --with-all-dependencies on update/require/remove commands
  • Added more info to vendor/composer/installed.json, a dev key stores whether dev requirements were installed, and every package now has an install-path key with its install location
  • Added COMPOSER_DISABLE_NETWORK which if set makes Composer do its best to run offline. This can be useful when you have poor connectivity or to do benchmarking without network jitter
  • Added COMPOSER_DEBUG_EVENTS=1 env var support for plugin authors to figure out which events are triggered when
  • Added setCustomCacheKey to PreFileDownloadEvent and fixed a cache bug for integrations changing the processed url of package archives
  • Added Composer\Util\SyncHelper for plugin authors to deal with async Promises more easily
  • Added $composer->getLoop()->getHttpDownloader() to get access to the main HttpDownloader instance in plugins
  • Added --json and --merge flags to config command to allow editing complex extra.* values by using json as input
  • Added confirmation prompt when running Composer as superuser in interactive mode
  • Added --no-check-version to validate command to remove the warning in case the version is defined
  • Added --ignore-platform-req (without s) to all commands supporting --ignore-platform-reqs, which accepts a package name so you can ignore only specific platform requirements
  • Added --no-dev support to show and outdated commands to skip dev requirements
  • Added --format=summary flag to license command
  • Added a cache-read-only config option to make the cache usable in read only mode for containers and such
  • Added support for wildcards (*) in classmap autoloader paths
  • Added support for configuring GitLab deploy tokens in addition to private tokens, see gitlab-token
  • Added support for package version guessing for require and init command to take all platform packages into account, not just php version
  • Added support for tar in artifact repositories
Changelog

Sourced from composer/composer's changelog.

[2.0.0] 2020-10-24

  • Fixed proxy handling issues when combined with our new curl-based downloader
  • Fixed solver bug resulting in endless loops in some cases
  • Fixed solver output being extremely long due to learnt rules
  • Fixed solver bug with multi literals
  • Fixed a couple minor regressions

[2.0.0-RC2] 2020-10-14

  • Breaking: Removed OperationInterface::getReason as the data was not accurate
  • Added automatic removal of packages which are not required anymore whenever an update is done, this will purge packages previously left over by partial updates and require/remove
  • Added shorthand aliases -w for --with-dependencies and -W for --with-all-dependencies on update/require/remove commands
  • Added COMPOSER_DEBUG_EVENTS=1 env var support for plugin authors to figure out which events are triggered when
  • Added setCustomCacheKey to PreFileDownloadEvent and fixed a cache bug for integrations changing the processed url of package archives
  • Added Composer\Util\SyncHelper for plugin authors to deal with async Promises more easily
  • Added $composer->getLoop()->getHttpDownloader() to get access to the main HttpDownloader instance in plugins
  • Added a non-zero exit code (2) and warning to remove command when a package to be removed could not be removed
  • Added --apcu-autoloader-prefix (or --apcu-prefix for dump-autoload command) flag to let people use apcu autoloading in a deterministic output way if that is needed
  • Fixed version guesser to look at remote branches as well as local ones
  • Lots of minor bug fixes and improvements

[2.0.0-RC1] 2020-09-10

  • Added more advanced filtering to avoid loading all versions of all referenced packages when resolving dependencies, which should reduce memory usage further in some cases
  • Added support for many new lib-* packages in the platform repository and improved version detection for some ext-* and lib-* packages
  • Added an --ask flag to create-project command to make Composer prompt for the install dir name, useful for project install instructions
  • Added support for tar in artifact repositories
  • Added a cache-read-only config option to make the cache usable in read only mode for containers and such
  • Added better error reporting for a few more specific cases
  • Added a new optional available-package-patterns attribute for v2-format Composer repositories, see UPGRADE for details
  • Fixed more PHP 8 compatibility issues
  • Lots of minor bug fixes for regressions

[2.0.0-alpha3] 2020-08-03

  • Breaking: Zip archives loaded by artifact repositories must now have a composer.json on top level, or a max of one folder on top level of the archive
  • Added --no-dev support to show and outdated commands to skip dev requirements
  • Added support for multiple --repository flags being passed into the create-project command, only useful in combination with --add-repository to persist them to composer.json
  • Added a new optional list API endpoint for v2-format Composer repositories, see UPGRADE for details
  • Fixed show -a command not listing anything
  • Fixed solver bug where it ended in a "Reached invalid decision id 0"
  • Fixed updates of git-installed packages on windows
  • Lots of minor bug fixes

[2.0.0-alpha2] 2020-06-24

  • Added parallel installation of packages (requires OSX/Linux/WSL, and that unzip is present in PATH)
  • Added optimization of constraints by compiling them to PHP code, which should reduce CPU time of updates
  • Added handling of Ctrl-C on Windows for PHP 7.4+
Commits
  • 378b34c Release 2.0.0
  • 191196d Detect broken packagist.org mirrors and fix them on the fly, refs #9297
  • 8d01817 Update changelog for 2.0 🎉
  • 98d92a8 Update deps
  • 62eff8e Tweaks to new proxying code, refs #9324
  • 62fd612 Merge remote-tracking branch 'johnstevenson/curl-proxy'
  • 0d23685 Merge branch '1.10'
  • 6f79163 Update changelog
  • 25496c1 Update link to composer 2 release notes
  • 28c7e38 Merge remote-tracking branch 'stof/fix_why_not' into 1.10
  • Additional commits viewable in compare view


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
codecov[bot] commented 3 years ago

Codecov Report

Merging #11 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##              master       #11   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity       269       269           
===========================================
  Files             48        48           
  Lines           1009       968   -41     
===========================================
- Hits            1009       968   -41     
Impacted Files Coverage Δ Complexity Δ
src/Skeleton/Setup.php 100.00% <0.00%> (ø) 13.00% <0.00%> (ø%)
src/Skeleton/Task/Task.php 100.00% <0.00%> (ø) 11.00% <0.00%> (ø%)
src/Skeleton/Task/Build.php 100.00% <0.00%> (ø) 7.00% <0.00%> (ø%)
src/Skeleton/Task/Prompt.php 100.00% <0.00%> (ø) 6.00% <0.00%> (ø%)
src/Skeleton/Task/Builder.php 100.00% <0.00%> (ø) 2.00% <0.00%> (ø%)
src/Skeleton/Task/Question.php 100.00% <0.00%> (ø) 17.00% <0.00%> (ø%)
src/Skeleton/Task/Builder/Cleanup.php 100.00% <0.00%> (ø) 2.00% <0.00%> (ø%)
src/Skeleton/Task/Builder/RunTests.php 100.00% <0.00%> (ø) 1.00% <0.00%> (ø%)
src/Skeleton/Task/InstallQuestions.php 100.00% <0.00%> (ø) 2.00% <0.00%> (ø%)
src/Skeleton/Task/Questions/License.php 100.00% <0.00%> (ø) 6.00% <0.00%> (ø%)
... and 17 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 3e35d6a...4f1825b. Read the comment docs.

dependabot-preview[bot] commented 3 years ago

This pull request will no longer be automatically closed when a new version is found as this pull request was created by Dependabot Preview and this repo is using a version: 2 config file. You can close this pull request and let Dependabot re-create it the next time it checks for updates.

dependabot-preview[bot] commented 3 years ago

Looks like composer/composer is no longer a dependency, so this is no longer needed.