Hello community, here is the log from the commit of package platformsh-cli for openSUSE:Factory checked in at 2018-07-22 23:04:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/platformsh-cli (Old) and /work/SRC/openSUSE:Factory/.platformsh-cli.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "platformsh-cli" Sun Jul 22 23:04:53 2018 rev:52 rq:624402 version:3.34.1 Changes: -------- --- /work/SRC/openSUSE:Factory/platformsh-cli/platformsh-cli.changes 2018-06-28 15:14:44.559447372 +0200 +++ /work/SRC/openSUSE:Factory/.platformsh-cli.new/platformsh-cli.changes 2018-07-22 23:05:13.040908776 +0200 @@ -1,0 +2,27 @@ +Sat Jul 21 03:47:07 UTC 2018 - ji...@boombatower.com + +- Update to version 3.34.1: + * Release v3.34.1 + * Fix --pipe option in the environment:ssh (ssh) command + * Wording tweak for sync --rebase + +------------------------------------------------------------------- +Thu Jul 19 18:41:26 UTC 2018 - ji...@boombatower.com + +- Update to version 3.34.0: + * Release v3.34.0 + * Add --worker option to the SSH command (#736) + * Remove legacy API workaround in integration:update + * Add --depth option to project:get (get) command (#715) + * Add --rebase option to the environment:synchronize (sync) command. (#714) + * Add --prune-branches option for github and gitlab integrations (#723) + * Update user commands for upstream API fix (improves performance) (#718) + * Add service:list (services) command (#731) + * [db:dump] Add --no-owner to pg_dump command (#733) + * [self:install] Format source argument with ./ if it is a basename + * Fix --all option in list command + * [self:install]: prefer .bashrc over .bash_profile + * Installer: fix undefined constant when run through stdin to PHP + * Fix colorization in installer + +------------------------------------------------------------------- Old: ---- platformsh-cli-3.33.6.tar.xz New: ---- platformsh-cli-3.34.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ platformsh-cli.spec ++++++ --- /var/tmp/diff_new_pack.9AKNAD/_old 2018-07-22 23:05:14.296908310 +0200 +++ /var/tmp/diff_new_pack.9AKNAD/_new 2018-07-22 23:05:14.300908309 +0200 @@ -17,7 +17,7 @@ Name: platformsh-cli -Version: 3.33.6 +Version: 3.34.1 Release: 0 Summary: Tool for managing Platform.sh services from the command line # See licenses.txt for dependency licenses. ++++++ _service ++++++ --- /var/tmp/diff_new_pack.9AKNAD/_old 2018-07-22 23:05:14.324908300 +0200 +++ /var/tmp/diff_new_pack.9AKNAD/_new 2018-07-22 23:05:14.324908300 +0200 @@ -2,7 +2,7 @@ <service name="tar_scm" mode="disabled"> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">refs/tags/v3.33.6</param> + <param name="revision">refs/tags/v3.34.1</param> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.9AKNAD/_old 2018-07-22 23:05:14.340908294 +0200 +++ /var/tmp/diff_new_pack.9AKNAD/_new 2018-07-22 23:05:14.340908294 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/platformsh/platformsh-cli.git</param> - <param name="changesrevision">126d22e278420e33589fc7506bb171bf96b231c8</param> + <param name="changesrevision">eaa40edf86cb91fda00fe8a0ee2a4f918dab26bf</param> </service> </servicedata> ++++++ platformsh-cli-3.33.6.tar.xz -> platformsh-cli-3.34.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/config.yaml new/platformsh-cli-3.34.1/config.yaml --- old/platformsh-cli-3.33.6/config.yaml 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/config.yaml 2018-07-20 15:19:57.000000000 +0200 @@ -1,7 +1,7 @@ # Metadata about the CLI application itself. application: name: 'Platform.sh CLI' - version: '3.33.6' + version: '3.34.1' executable: 'platform' package_name: 'platformsh/cli' installer_url: 'https://platform.sh/cli/installer' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/dist/installer.php new/platformsh-cli-3.34.1/dist/installer.php --- old/platformsh-cli-3.33.6/dist/installer.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/dist/installer.php 2018-07-20 15:19:57.000000000 +0200 @@ -218,7 +218,7 @@ } output(PHP_EOL . ' Running self:install command...'); -putenv('CLICOLOR_FORCE=' . is_ansi() ? '1' : '0'); +putenv('CLICOLOR_FORCE=' . (is_ansi() ? '1' : '0')); exec('php ' . $pharPath . ' self:install --yes 2>&1', $output, $return_var); output(preg_replace('/^/m', ' ', implode(PHP_EOL, $output))); if ($return_var === 0) { @@ -303,7 +303,7 @@ // Everywhere else, default to ANSI if stdout is a terminal. return (DIRECTORY_SEPARATOR == '\\') ? (false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI')) - : (function_exists('posix_isatty') && posix_isatty(STDOUT)); + : (function_exists('posix_isatty') && posix_isatty(1)); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/dist/manifest.json new/platformsh-cli-3.34.1/dist/manifest.json --- old/platformsh-cli-3.33.6/dist/manifest.json 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/dist/manifest.json 2018-07-20 15:19:57.000000000 +0200 @@ -1,10 +1,10 @@ [ { "name": "platform.phar", - "sha1": "fbcb8e4bbc77137fd2d69d84cb8f9921ebb2e15f", - "sha256": "2cd77ad649be9acad3ad09f1ccebf8b0eb7d99cbd2526161a9d00695d4ba0608", - "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.33.6/platform.phar", - "version": "3.33.6", + "sha1": "6d3a81e1ee934ab2b7e67230f26c665aa9401984", + "sha256": "53cfbd8255270f9f12b2e5cf9882ea3a9094866bcde19de406ddf676c114d1fa", + "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.34.1/platform.phar", + "version": "3.34.1", "php": { "min": "5.5.9" }, @@ -132,6 +132,11 @@ "notes": "* Add `mount:size` command to find the disk usage of writable mounts.\n* Add `--sensitive` option for project-level variables (affects commands:\n `variable:create`, `variable:update`, and `variable:list`).\n* Clear environment/project caches after a 403 error.\n* Increase prominence of warning in `db:size` command.\n* Skip the automatic updates check if the Phar file is not writable.", "show from": "3.32.0", "hide from": "3.33.0" + }, + { + "notes": "New features:\n\n* Add `service:list` (`services`) command.\n* Add --depth option to `project:get` (`get`) command (allow shallow clones).\n* Add --rebase option to the `environment:synchronize` (`sync`) command.\n* Add --prune-branches option for GitHub and GitLab integrations.\n* Add --worker option to the `environment:ssh` (`ssh`) command.\n\nOther changes:\n\n* When running pg_dump via the `db:dump` command, use the --no-owner flag.\n* Fix the `--all` option in the `list` command.\n* Prefer .bashrc over .bash_profile in the installer (self:install command).\n* Remove legacy API workaround in `integration:update`.\n* Update user commands for upstream API fix (improves performance).", + "show from": "3.33.0", + "hide from": "3.34.0" } ] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Application.php new/platformsh-cli-3.34.1/src/Application.php --- old/platformsh-cli-3.33.6/src/Application.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Application.php 2018-07-20 15:19:57.000000000 +0200 @@ -175,6 +175,7 @@ $commands[] = new Command\Service\MongoDB\MongoRestoreCommand(); $commands[] = new Command\Service\MongoDB\MongoShellCommand(); $commands[] = new Command\Service\RedisCliCommand(); + $commands[] = new Command\Service\ServiceListCommand(); $commands[] = new Command\Snapshot\SnapshotCreateCommand(); $commands[] = new Command\Snapshot\SnapshotListCommand(); $commands[] = new Command\Snapshot\SnapshotRestoreCommand(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/App/AppListCommand.php new/platformsh-cli-3.34.1/src/Command/App/AppListCommand.php --- old/platformsh-cli-3.33.6/src/Command/App/AppListCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/App/AppListCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -33,9 +33,23 @@ $this->validateInput($input); // Find a list of deployed web apps. - $apps = $this->api() - ->getCurrentDeployment($this->getSelectedEnvironment(), $input->getOption('refresh')) - ->webapps; + $deployment = $this->api() + ->getCurrentDeployment($this->getSelectedEnvironment(), $input->getOption('refresh')); + $apps = $deployment->webapps; + + if (!count($apps)) { + $this->stdErr->writeln('No applications found.'); + + if ($deployment->services) { + $this->stdErr->writeln(''); + $this->stdErr->writeln(sprintf( + 'To list services, run: <info>%s services</info>', + $this->config()->get('application.executable') + )); + } + + return 0; + } // Determine whether to show the "Local path" of the app. This will be // found via matching the remote, deployed app with one in the local @@ -75,6 +89,24 @@ /** @var \Platformsh\Cli\Service\Table $table */ $table = $this->getService('table'); + if (!$table->formatIsMachineReadable()) { + $this->stdErr->writeln(sprintf( + 'Applications on the project <info>%s</info>, environment <info>%s</info>:', + $this->api()->getProjectLabel($this->getSelectedProject()), + $this->api()->getEnvironmentLabel($this->getSelectedEnvironment()) + )); + } + $table->render($rows, $headers); + + if (!$table->formatIsMachineReadable() && $deployment->services) { + $this->stdErr->writeln(''); + $this->stdErr->writeln(sprintf( + 'To list services, run: <info>%s services</info>', + $this->config()->get('application.executable') + )); + } + + return 0; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Db/DbDumpCommand.php new/platformsh-cli-3.34.1/src/Command/Db/DbDumpCommand.php --- old/platformsh-cli-3.33.6/src/Command/Db/DbDumpCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Db/DbDumpCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -130,7 +130,7 @@ switch ($database['scheme']) { case 'pgsql': - $dumpCommand = 'pg_dump --clean --blobs ' . $relationships->getDbCommandArgs('pg_dump', $database); + $dumpCommand = 'pg_dump --no-owner --clean --blobs ' . $relationships->getDbCommandArgs('pg_dump', $database); if ($schemaOnly) { $dumpCommand .= ' --schema-only'; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Environment/EnvironmentSshCommand.php new/platformsh-cli-3.34.1/src/Command/Environment/EnvironmentSshCommand.php --- old/platformsh-cli-3.33.6/src/Command/Environment/EnvironmentSshCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Environment/EnvironmentSshCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -26,6 +26,7 @@ $this->addProjectOption() ->addEnvironmentOption() ->addAppOption(); + $this->addOption('worker', null, InputOption::VALUE_REQUIRED, 'SSH to a worker'); Ssh::configureInput($this->getDefinition()); $this->addExample('Read recent messages in the deploy log', "'tail /var/log/deploy.log'"); $this->addExample('Open a shell over SSH'); @@ -42,11 +43,25 @@ return 0; } - $sshUrl = $environment->getSshUrl($this->selectApp($input)); + $appName = $this->selectApp($input); + $sshUrl = $environment->getSshUrl($appName); + + if ($worker = $input->getOption('worker')) { + // Validate the worker. + $deployment = $this->api()->getCurrentDeployment($environment); + try { + $deployment->getWorker($appName . '--' . $worker); + } catch (\InvalidArgumentException $e) { + $this->stdErr->writeln('Worker not found: <error>' . $worker . '</error>'); + + return 1; + } + list($username, $rest) = explode('@', $sshUrl, 2); + $sshUrl = $username . '--' . $worker . '@' . $rest; + } if ($input->getOption('pipe')) { $output->write($sshUrl); - return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Environment/EnvironmentSynchronizeCommand.php new/platformsh-cli-3.34.1/src/Command/Environment/EnvironmentSynchronizeCommand.php --- old/platformsh-cli-3.33.6/src/Command/Environment/EnvironmentSynchronizeCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Environment/EnvironmentSynchronizeCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -6,6 +6,7 @@ use Stecman\Component\Symfony\Console\BashCompletion\CompletionContext; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; class EnvironmentSynchronizeCommand extends CommandBase implements CompletionAwareInterface @@ -17,7 +18,8 @@ ->setName('environment:synchronize') ->setAliases(['sync']) ->setDescription("Synchronize an environment's code and/or data from its parent") - ->addArgument('synchronize', InputArgument::IS_ARRAY, 'What to synchronize: "code", "data" or both'); + ->addArgument('synchronize', InputArgument::IS_ARRAY, 'What to synchronize: "code", "data" or both') + ->addOption('rebase', null, InputOption::VALUE_NONE, 'Synchronize code by rebasing instead of merging'); $this->addProjectOption() ->addEnvironmentOption() ->addWaitOptions(); @@ -57,6 +59,8 @@ /** @var \Platformsh\Cli\Service\QuestionHelper $questionHelper */ $questionHelper = $this->getService('question_helper'); + $rebase = (bool) $input->getOption('rebase'); + if ($synchronize = $input->getArgument('synchronize')) { // The input was invalid. if (array_diff($input->getArgument('synchronize'), ['code', 'data', 'both'])) { @@ -65,8 +69,19 @@ } $syncCode = in_array('code', $synchronize) || in_array('both', $synchronize); $syncData = in_array('data', $synchronize) || in_array('both', $synchronize); + + if ($rebase && !$syncCode) { + $this->stdErr->writeln('<comment>Note:</comment> you specified the <comment>--rebase</comment> option, but this only applies to synchronizing code, which you have not selected.'); + $this->stdErr->writeln(''); + } + + $toSync = $syncCode && $syncData + ? '<options=underscore>code</> and <options=underscore>data</>' + : '<options=underscore>' . ($syncCode ? 'code' : 'data') . '</>'; + $confirmText = sprintf( - 'Are you sure you want to synchronize <info>%s</info> to <info>%s</info>?', + 'Are you sure you want to synchronize %s from <info>%s</info> to <info>%s</info>?', + $toSync, $parentId, $environmentId ); @@ -75,23 +90,38 @@ } } else { $syncCode = $questionHelper->confirm( - "Synchronize code from <info>$parentId</info> to <info>$environmentId</info>?", + "Do you want to synchronize <options=underscore>code</> from <info>$parentId</info> to <info>$environmentId</info>?", false ); + + if ($syncCode && !$rebase) { + $rebase = $questionHelper->confirm( + "Do you want to synchronize code by rebasing instead of merging?", + false + ); + } + + if ($rebase && !$syncCode) { + $this->stdErr->writeln('<comment>Note:</comment> you specified the <comment>--rebase</comment> option, but this only applies to synchronizing code.'); + } + + $this->stdErr->writeln(''); + $syncData = $questionHelper->confirm( - "Synchronize data from <info>$parentId</info> to <info>$environmentId</info>?", + "Do you want to synchronize <options=underscore>data</> from <info>$parentId</info> to <info>$environmentId</info>?", false ); } if (!$syncCode && !$syncData) { - $this->stdErr->writeln("<error>You must synchronize at least code or data.</error>"); + $this->stdErr->writeln(''); + $this->stdErr->writeln('You did not select anything to synchronize.'); return 1; } $this->stdErr->writeln("Synchronizing environment <info>$environmentId</info>"); - $activity = $selectedEnvironment->synchronize($syncData, $syncCode); + $activity = $selectedEnvironment->synchronize($syncData, $syncCode, $rebase); if ($this->shouldWait($input)) { /** @var \Platformsh\Cli\Service\ActivityMonitor $activityMonitor */ $activityMonitor = $this->getService('activity_monitor'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Integration/IntegrationCommandBase.php new/platformsh-cli-3.34.1/src/Command/Integration/IntegrationCommandBase.php --- old/platformsh-cli-3.33.6/src/Command/Integration/IntegrationCommandBase.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Integration/IntegrationCommandBase.php 2018-07-20 15:19:57.000000000 +0200 @@ -143,7 +143,17 @@ 'github', 'gitlab', ]], - 'description' => 'Fetch all branches (as inactive environments)', + 'description' => 'Fetch all branches from the remote (as inactive environments)', + ]), + 'prune_branches' => new BooleanField('Prune branches', [ + 'conditions' => [ + 'type' => [ + 'github', + 'gitlab', + ], + 'fetch_branches' => true, + ], + 'description' => 'Delete branches that do not exist on the remote', ]), 'room' => new Field('HipChat room ID', [ 'conditions' => ['type' => [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Integration/IntegrationUpdateCommand.php new/platformsh-cli-3.34.1/src/Command/Integration/IntegrationUpdateCommand.php --- old/platformsh-cli-3.33.6/src/Command/Integration/IntegrationUpdateCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Integration/IntegrationUpdateCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -56,15 +56,6 @@ return 1; } - // Complete the PATCH request with the current values. This is a - // workaround: at the moment a PATCH with only the changed values will - // cause a 500 error. - foreach ($currentValues as $key => $currentValue) { - if ($key !== 'id' && !array_key_exists($key, $values)) { - $values[$key] = $currentValue; - } - } - $result = $integration->update($values); $this->stdErr->writeln("Integration <info>{$integration->id}</info> (<info>{$integration->type}</info>) updated"); $this->ensureHooks($integration); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Project/ProjectGetCommand.php new/platformsh-cli-3.34.1/src/Command/Project/ProjectGetCommand.php --- old/platformsh-cli-3.33.6/src/Command/Project/ProjectGetCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Project/ProjectGetCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -23,11 +23,11 @@ ->setAliases(['get']) ->setDescription('Clone a project locally') ->addArgument('project', InputArgument::OPTIONAL, 'The project ID') - ->addArgument('directory', InputArgument::OPTIONAL, 'The directory to clone to. Defaults to the project title'); - $this->addProjectOption(); - $this->addOption('environment', 'e', InputOption::VALUE_REQUIRED, "The environment ID to clone. Defaults to 'master' or the first available environment") - ->addOption('host', null, InputOption::VALUE_REQUIRED, "The project's API hostname") + ->addArgument('directory', InputArgument::OPTIONAL, 'The directory to clone to. Defaults to the project title') + ->addOption('environment', 'e', InputOption::VALUE_REQUIRED, "The environment ID to clone. Defaults to 'master' or the first available environment") + ->addOption('depth', null, InputOption::VALUE_REQUIRED, 'Create a shallow clone: limit the number of commits in the history') ->addOption('build', null, InputOption::VALUE_NONE, 'Build the project after cloning'); + $this->addProjectOption(); Ssh::configureInput($this->getDefinition()); $this->addExample('Clone the project "abc123" into the directory "my-project"', 'abc123 my-project'); } @@ -117,6 +117,11 @@ if ($output->isDecorated()) { $cloneArgs[] = '--progress'; } + if ($input->getOption('depth')) { + $cloneArgs[] = '--depth'; + $cloneArgs[] = $input->getOption('depth'); + $cloneArgs[] = '--shallow-submodules'; + } $cloned = $git->cloneRepo($gitUrl, $projectRoot, $cloneArgs); if ($cloned === false) { // The clone wasn't successful. Clean up the folders we created @@ -190,6 +195,9 @@ */ protected function validateInput(InputInterface $input, $envNotRequired = false) { + if ($input->getOption('depth') !== null && !preg_match('/^[0-9]+$/', $input->getOption('depth'))) { + throw new InvalidArgumentException('The --depth value must be an integer.'); + } if ($input->getOption('project') && $input->getArgument('project')) { throw new InvalidArgumentException('You cannot use both the --project option and the <project> argument.'); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Self/SelfInstallCommand.php new/platformsh-cli-3.34.1/src/Command/Self/SelfInstallCommand.php --- old/platformsh-cli-3.33.6/src/Command/Self/SelfInstallCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/Self/SelfInstallCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -91,11 +91,8 @@ if (strpos($currentShellConfig, $suggestedShellConfig) !== false) { $this->stdErr->writeln('Already configured: <info>' . $this->getShortPath($shellConfigFile) . '</info>'); $this->stdErr->writeln(''); - $this->stdErr->writeln(sprintf( - "To use the %s, run:\n <info>%s</info>", - $this->config()->get('application.name'), - $this->config()->get('application.executable') - )); + + $this->stdErr->writeln($this->getRunAdvice($shellConfigFile, $configDir . '/bin')); return 0; } @@ -191,18 +188,82 @@ } $this->stdErr->writeln(''); - $this->stdErr->writeln([ - 'To use the ' . $this->config()->get('application.name') . ', run:', - ' <info>source ' - . str_replace(' ', '\\ ', $this->getShortPath($shellConfigFile)) - . '</info> # (or start a new terminal)', - ' <info>' . $this->config()->get('application.executable') . '</info>', - ]); + $this->stdErr->writeln($this->getRunAdvice($shellConfigFile, $configDir . '/bin')); return 0; } /** + * @param string $shellConfigFile + * @param string $binDir + * + * @return string[] + */ + private function getRunAdvice($shellConfigFile, $binDir) + { + $advice = [ + sprintf('To use the %s, run:', $this->config()->get('application.name')) + ]; + if (!$this->inPath($binDir)) { + $sourceAdvice = sprintf(' <info>source %s</info>', $this->formatSourceArg($shellConfigFile)); + $sourceAdvice .= ' # (make sure your shell does this by default)'; + $advice[] = $sourceAdvice; + } + $advice[] = sprintf(' <info>%s</info>', $this->config()->get('application.executable')); + + return $advice; + } + + /** + * Check if a directory is in the PATH. + * + * @return bool + */ + private function inPath($dir) + { + $PATH = getenv('PATH'); + $realpath = realpath($dir); + if (!$PATH || !$realpath) { + return false; + } + + return in_array($realpath, explode(':', $PATH)); + } + + /** + * Transform a filename into an argument for the 'source' command. + * + * This is only shown as advice to the user. + * + * @param string $filename + * + * @return string + */ + private function formatSourceArg($filename) + { + $arg = $filename; + + // Replace the home directory with ~, if not on Windows. + if (DIRECTORY_SEPARATOR !== '\\') { + $realpath = realpath($filename); + $homeDir = Filesystem::getHomeDirectory(); + if ($realpath && strpos($realpath, $homeDir) === 0) { + $arg = '~/' . ltrim(substr($realpath, strlen($homeDir)), '/'); + } + } + + // Ensure the argument isn't a basename ('source' would look it up in + // the PATH). + if ($arg === basename($filename)) { + $arg = '.' . DIRECTORY_SEPARATOR . $filename; + } + + // Crude argument escaping (escapeshellarg() would prevent tilde + // substitution). + return str_replace(' ', '\\ ', $arg); + } + + /** * Shorten a filename for display. * * @param string $filename @@ -245,8 +306,8 @@ } $candidates = [ - '.bash_profile', '.bashrc', + '.bash_profile', ]; if ($shell === 'zsh' || getenv('ZSH')) { array_unshift($candidates, '.zshrc'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/Service/ServiceListCommand.php new/platformsh-cli-3.34.1/src/Command/Service/ServiceListCommand.php --- old/platformsh-cli-3.33.6/src/Command/Service/ServiceListCommand.php 1970-01-01 01:00:00.000000000 +0100 +++ new/platformsh-cli-3.34.1/src/Command/Service/ServiceListCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -0,0 +1,89 @@ +<?php +namespace Platformsh\Cli\Command\Service; + +use Platformsh\Cli\Command\CommandBase; +use Platformsh\Cli\Service\Table; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; + +class ServiceListCommand extends CommandBase +{ + protected $hiddenInList = true; + + /** + * {@inheritdoc} + */ + protected function configure() + { + $this->setName('service:list') + ->setAliases(['services']) + ->setDescription('List services in the project') + ->addOption('refresh', null, InputOption::VALUE_NONE, 'Whether to refresh the cache'); + $this->addProjectOption() + ->addEnvironmentOption(); + Table::configureInput($this->getDefinition()); + } + + /** + * {@inheritdoc} + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $this->validateInput($input); + + // Find a list of deployed services. + $deployment = $this->api() + ->getCurrentDeployment($this->getSelectedEnvironment(), $input->getOption('refresh')); + $services = $deployment->services; + + if (!count($services)) { + $this->stdErr->writeln('No services found.'); + + if ($deployment->webapps) { + $this->stdErr->writeln(''); + $this->stdErr->writeln(sprintf( + 'To list applications, run: <info>%s apps</info>', + $this->config()->get('application.executable') + )); + } + + return 0; + } + + $headers = ['Name', 'Type', 'Disk (MiB)', 'Size']; + + $rows = []; + foreach ($services as $name => $service) { + $row = [ + $name, + $service->type, + $service->disk !== null ? $service->disk : '', + $service->size, + ]; + $rows[] = $row; + } + + /** @var \Platformsh\Cli\Service\Table $table */ + $table = $this->getService('table'); + if (!$table->formatIsMachineReadable()) { + $this->stdErr->writeln(sprintf( + 'Services on the project <info>%s</info>, environment <info>%s</info>:', + $this->api()->getProjectLabel($this->getSelectedProject()), + $this->api()->getEnvironmentLabel($this->getSelectedEnvironment()) + )); + } + + $table->render($rows, $headers); + + if (!$table->formatIsMachineReadable() && $deployment->webapps) { + $this->stdErr->writeln(''); + $this->stdErr->writeln(sprintf( + 'To list applications, run: <info>%s apps</info>', + $this->config()->get('application.executable') + )); + } + + return 0; + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/User/UserAddCommand.php new/platformsh-cli-3.34.1/src/Command/User/UserAddCommand.php --- old/platformsh-cli-3.33.6/src/Command/User/UserAddCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/User/UserAddCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -465,10 +465,8 @@ $environments = $this->api()->getEnvironments($this->getSelectedProject()); $progress->start(count($environments)); foreach ($environments as $environment) { - foreach ($environment->getUsers() as $access) { - if ($access->user === $projectAccess->id) { - $environmentRoles[$environment->id] = $access->role; - } + if ($access = $environment->getUser($projectAccess->id)) { + $environmentRoles[$environment->id] = $access->role; } $progress->advance(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Command/User/UserRoleCommand.php new/platformsh-cli-3.34.1/src/Command/User/UserRoleCommand.php --- old/platformsh-cli-3.33.6/src/Command/User/UserRoleCommand.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Command/User/UserRoleCommand.php 2018-07-20 15:19:57.000000000 +0200 @@ -117,14 +117,8 @@ $projectAccess = $this->api()->loadProjectAccessByEmail($project, $email, true); $currentRole = $projectAccess ? $projectAccess->role : 'none'; } else { - $currentRole = 'none'; - $accesses = $this->getSelectedEnvironment()->getUsers(); - foreach ($accesses as $access) { - if ($access->user === $uuid) { - $currentRole = $access->role; - break; - } - } + $access = $this->getSelectedEnvironment()->getUser($uuid); + $currentRole = $access ? $access->role : 'none'; } $output->writeln($currentRole); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.33.6/src/Console/CustomTextDescriptor.php new/platformsh-cli-3.34.1/src/Console/CustomTextDescriptor.php --- old/platformsh-cli-3.33.6/src/Console/CustomTextDescriptor.php 2018-06-27 16:53:05.000000000 +0200 +++ new/platformsh-cli-3.34.1/src/Console/CustomTextDescriptor.php 2018-07-20 15:19:57.000000000 +0200 @@ -87,7 +87,7 @@ protected function describeApplication(ConsoleApplication $application, array $options = []) { $describedNamespace = isset($options['namespace']) ? $options['namespace'] : null; - $description = new ApplicationDescription($application, $describedNamespace); + $description = new ApplicationDescription($application, $describedNamespace, !empty($options['all'])); if (isset($options['raw_text']) && $options['raw_text']) { $width = $this->getColumnWidth($description->getCommands()); @@ -117,11 +117,7 @@ /** @var Command[] $commands */ $commands = []; foreach ($namespace['commands'] as $name) { - $command = $description->getCommand($name); - if (empty($options['all']) && $command->isHidden()) { - continue; - } - $commands[$name] = $command; + $commands[$name] = $description->getCommand($name); } // Skip the namespace if it doesn't contain any commands. ++++++ platformsh-cli-vendor.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/autoload.php new/vendor/autoload.php --- old/vendor/autoload.php 2018-06-27 23:00:16.282343063 +0200 +++ new/vendor/autoload.php 2018-07-21 05:47:10.121916063 +0200 @@ -4,4 +4,4 @@ require_once __DIR__ . '/composer/autoload_real.php'; -return ComposerAutoloaderInite9ae40f4d976980c7503956068f39223::getLoader(); +return ComposerAutoloaderInit00621416e04f9e641fcf6b9c661708d9::getLoader(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/ClassLoader.php new/vendor/composer/ClassLoader.php --- old/vendor/composer/ClassLoader.php 2018-06-27 23:00:16.282343063 +0200 +++ new/vendor/composer/ClassLoader.php 2018-07-21 05:47:10.121916063 +0200 @@ -379,9 +379,9 @@ $subPath = substr($subPath, 0, $lastPos); $search = $subPath.'\\'; if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { - $length = $this->prefixLengthsPsr4[$first][$search]; - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + if (file_exists($file = $dir . $pathEnd)) { return $file; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_real.php new/vendor/composer/autoload_real.php --- old/vendor/composer/autoload_real.php 2018-06-27 23:00:16.282343063 +0200 +++ new/vendor/composer/autoload_real.php 2018-07-21 05:47:10.121916063 +0200 @@ -2,7 +2,7 @@ // autoload_real.php @generated by Composer -class ComposerAutoloaderInite9ae40f4d976980c7503956068f39223 +class ComposerAutoloaderInit00621416e04f9e641fcf6b9c661708d9 { private static $loader; @@ -19,15 +19,15 @@ return self::$loader; } - spl_autoload_register(array('ComposerAutoloaderInite9ae40f4d976980c7503956068f39223', 'loadClassLoader'), true, true); + spl_autoload_register(array('ComposerAutoloaderInit00621416e04f9e641fcf6b9c661708d9', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); - spl_autoload_unregister(array('ComposerAutoloaderInite9ae40f4d976980c7503956068f39223', 'loadClassLoader')); + spl_autoload_unregister(array('ComposerAutoloaderInit00621416e04f9e641fcf6b9c661708d9', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { require_once __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInite9ae40f4d976980c7503956068f39223::getInitializer($loader)); + call_user_func(\Composer\Autoload\ComposerStaticInit00621416e04f9e641fcf6b9c661708d9::getInitializer($loader)); } else { $map = require __DIR__ . '/autoload_namespaces.php'; foreach ($map as $namespace => $path) { @@ -48,19 +48,19 @@ $loader->register(true); if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInite9ae40f4d976980c7503956068f39223::$files; + $includeFiles = Composer\Autoload\ComposerStaticInit00621416e04f9e641fcf6b9c661708d9::$files; } else { $includeFiles = require __DIR__ . '/autoload_files.php'; } foreach ($includeFiles as $fileIdentifier => $file) { - composerRequiree9ae40f4d976980c7503956068f39223($fileIdentifier, $file); + composerRequire00621416e04f9e641fcf6b9c661708d9($fileIdentifier, $file); } return $loader; } } -function composerRequiree9ae40f4d976980c7503956068f39223($fileIdentifier, $file) +function composerRequire00621416e04f9e641fcf6b9c661708d9($fileIdentifier, $file) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { require $file; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/autoload_static.php new/vendor/composer/autoload_static.php --- old/vendor/composer/autoload_static.php 2018-06-27 23:00:16.278343024 +0200 +++ new/vendor/composer/autoload_static.php 2018-07-21 05:47:10.121916063 +0200 @@ -4,7 +4,7 @@ namespace Composer\Autoload; -class ComposerStaticInite9ae40f4d976980c7503956068f39223 +class ComposerStaticInit00621416e04f9e641fcf6b9c661708d9 { public static $files = array ( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', @@ -195,9 +195,9 @@ public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInite9ae40f4d976980c7503956068f39223::$prefixLengthsPsr4; - $loader->prefixDirsPsr4 = ComposerStaticInite9ae40f4d976980c7503956068f39223::$prefixDirsPsr4; - $loader->classMap = ComposerStaticInite9ae40f4d976980c7503956068f39223::$classMap; + $loader->prefixLengthsPsr4 = ComposerStaticInit00621416e04f9e641fcf6b9c661708d9::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit00621416e04f9e641fcf6b9c661708d9::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit00621416e04f9e641fcf6b9c661708d9::$classMap; }, null, ClassLoader::class); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/composer/installed.json new/vendor/composer/installed.json --- old/vendor/composer/installed.json 2018-06-27 23:00:15.686337262 +0200 +++ new/vendor/composer/installed.json 2018-07-21 05:47:09.525910783 +0200 @@ -1,49 +1,121 @@ [ { - "name": "cweagans/composer-patches", - "version": "1.6.4", - "version_normalized": "1.6.4.0", + "name": "cocur/slugify", + "version": "v2.5", + "version_normalized": "2.5.0.0", "source": { "type": "git", - "url": "https://github.com/cweagans/composer-patches.git", - "reference": "462e65061606dc6149349535d4322241515d1b16" + "url": "https://github.com/cocur/slugify.git", + "reference": "e8167e9a3236044afebd6e8ab13ebeb3ec9ca145" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/462e65061606dc6149349535d4322241515d1b16", - "reference": "462e65061606dc6149349535d4322241515d1b16", + "url": "https://api.github.com/repos/cocur/slugify/zipball/e8167e9a3236044afebd6e8ab13ebeb3ec9ca145", + "reference": "e8167e9a3236044afebd6e8ab13ebeb3ec9ca145", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0", - "php": ">=5.3.0" + "php": ">=5.5.9" }, "require-dev": { - "composer/composer": "~1.0", - "phpunit/phpunit": "~4.6" + "laravel/framework": "~5.1", + "latte/latte": "~2.2", + "league/container": "^2.2.0", + "mikey179/vfsstream": "~1.6", + "mockery/mockery": "~0.9", + "nette/di": "~2.2", + "phpunit/phpunit": "~4.8|~5.2", + "pimple/pimple": "~1.1", + "plumphp/plum": "~0.1", + "silex/silex": "~1.3", + "symfony/config": "~2.4|~3.0", + "symfony/dependency-injection": "~2.4|~3.0", + "symfony/http-kernel": "~2.4|~3.0", + "twig/twig": "~1.26|~2.0", + "zendframework/zend-modulemanager": "~2.2", + "zendframework/zend-servicemanager": "~2.2", + "zendframework/zend-view": "~2.2" }, - "time": "2017-12-07T16:16:31+00:00", - "type": "composer-plugin", + "time": "2017-03-23T21:52:55+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Cocur\\Slugify\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ivo Bathke", + "email": "ivo.bat...@gmail.com" + }, + { + "name": "Florian Eckerstorfer", + "email": "flor...@eckerstorfer.co", + "homepage": "https://florian.ec" + } + ], + "description": "Converts a string into a slug.", + "keywords": [ + "slug", + "slugify" + ] + }, + { + "name": "commerceguys/guzzle-oauth2-plugin", + "version": "v2.1.1", + "version_normalized": "2.1.1.0", + "source": { + "type": "git", + "url": "https://github.com/commerceguys/guzzle-oauth2-plugin.git", + "reference": "f7ed19171c3c5accfb6f0b3d1209eb5815ef8148" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/commerceguys/guzzle-oauth2-plugin/zipball/f7ed19171c3c5accfb6f0b3d1209eb5815ef8148", + "reference": "f7ed19171c3c5accfb6f0b3d1209eb5815ef8148", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0", + "guzzlehttp/guzzle": "~5.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "time": "2015-12-12T23:27:25+00:00", + "type": "library", "extra": { - "class": "cweagans\\Composer\\Patches" + "patches_applied": { + "Make it possible to get the access token without triggering a refresh": "https://github.com/pjcdawkins/guzzle-oauth2-plugin/commit/d2d720015813185d1ad4fa12884cab9bac6a8b25.patch" + } }, "installation-source": "dist", "autoload": { "psr-4": { - "cweagans\\Composer\\": "src" + "CommerceGuys\\Guzzle\\Oauth2\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "MIT" ], "authors": [ { - "name": "Cameron Eagans", - "email": "m...@cweagans.net" + "name": "Bojan Zivanovic" + }, + { + "name": "Damien Tournoud" + }, + { + "name": "Patrick Dawkins" } ], - "description": "Provides a way to patch Composer packages." + "description": "An OAuth2 plugin (subscriber) for Guzzle" }, { "name": "composer/ca-bundle", @@ -104,6 +176,52 @@ ] }, { + "name": "cweagans/composer-patches", + "version": "1.6.4", + "version_normalized": "1.6.4.0", + "source": { + "type": "git", + "url": "https://github.com/cweagans/composer-patches.git", + "reference": "462e65061606dc6149349535d4322241515d1b16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/462e65061606dc6149349535d4322241515d1b16", + "reference": "462e65061606dc6149349535d4322241515d1b16", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": ">=5.3.0" + }, + "require-dev": { + "composer/composer": "~1.0", + "phpunit/phpunit": "~4.6" + }, + "time": "2017-12-07T16:16:31+00:00", + "type": "composer-plugin", + "extra": { + "class": "cweagans\\Composer\\Patches" + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "cweagans\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Cameron Eagans", + "email": "m...@cweagans.net" + } + ], + "description": "Provides a way to patch Composer packages." + }, + { "name": "doctrine/cache", "version": "v1.6.2", "version_normalized": "1.6.2.0", @@ -222,36 +340,40 @@ "homepage": "https://github.com/firebase/php-jwt" }, { - "name": "react/promise", - "version": "v2.5.1", - "version_normalized": "2.5.1.0", + "name": "guzzlehttp/cache-subscriber", + "version": "0.1.0", + "version_normalized": "0.1.0.0", "source": { "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "62785ae604c8d69725d693eb370e1d67e94c4053" + "url": "https://github.com/guzzle/cache-subscriber.git", + "reference": "ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/62785ae604c8d69725d693eb370e1d67e94c4053", - "reference": "62785ae604c8d69725d693eb370e1d67e94c4053", + "url": "https://api.github.com/repos/guzzle/cache-subscriber/zipball/ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858", + "reference": "ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858", "shasum": "" }, "require": { + "doctrine/cache": "~1.3", + "guzzlehttp/guzzle": "~5.0", "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.8" + "phpunit/phpunit": "~4.0" }, - "time": "2017-03-25T12:08:31+00:00", + "time": "2014-10-29T21:06:25+00:00", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.1-dev" + } + }, "installation-source": "dist", "autoload": { "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "GuzzleHttp\\Subscriber\\Cache\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -259,48 +381,48 @@ ], "authors": [ { - "name": "Jan Sorgalla", - "email": "jsorga...@gmail.com" + "name": "Michael Dowling", + "email": "mtdowl...@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "description": "Guzzle HTTP cache subscriber", + "homepage": "http://guzzlephp.org/", "keywords": [ - "promise", - "promises" + "Guzzle", + "cache" ] }, { - "name": "guzzlehttp/streams", - "version": "3.0.0", - "version_normalized": "3.0.0.0", + "name": "guzzlehttp/guzzle", + "version": "5.3.2", + "version_normalized": "5.3.2.0", "source": { "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "f9acb4761844317e626a32259205bec1f1bc60d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f9acb4761844317e626a32259205bec1f1bc60d2", + "reference": "f9acb4761844317e626a32259205bec1f1bc60d2", "shasum": "" }, "require": { - "php": ">=5.4.0" + "guzzlehttp/ringphp": "^1.1", + "php": ">=5.4.0", + "react/promise": "^2.2" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "ext-curl": "*", + "phpunit/phpunit": "^4.0" }, - "time": "2014-10-12T19:18:40+00:00", + "time": "2018-01-15T07:18:01+00:00", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "installation-source": "dist", "autoload": { "psr-4": { - "GuzzleHttp\\Stream\\": "src/" + "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -314,11 +436,16 @@ "homepage": "https://github.com/mtdowling" } ], - "description": "Provides a simple abstraction over streams of data", + "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", "homepage": "http://guzzlephp.org/", "keywords": [ - "Guzzle", - "stream" + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" ] }, { @@ -375,6 +502,58 @@ "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function." }, { + "name": "guzzlehttp/streams", + "version": "3.0.0", + "version_normalized": "3.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/streams.git", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "time": "2014-10-12T19:18:40+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "GuzzleHttp\\Stream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowl...@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Provides a simple abstraction over streams of data", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "Guzzle", + "stream" + ] + }, + { "name": "padraic/humbug_get_contents", "version": "1.1.2", "version_normalized": "1.1.2.0", @@ -550,94 +729,43 @@ ] }, { - "name": "guzzlehttp/guzzle", - "version": "5.3.2", - "version_normalized": "5.3.2.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "f9acb4761844317e626a32259205bec1f1bc60d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f9acb4761844317e626a32259205bec1f1bc60d2", - "reference": "f9acb4761844317e626a32259205bec1f1bc60d2", - "shasum": "" - }, - "require": { - "guzzlehttp/ringphp": "^1.1", - "php": ">=5.4.0", - "react/promise": "^2.2" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "^4.0" - }, - "time": "2018-01-15T07:18:01+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowl...@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ] - }, - { - "name": "guzzlehttp/cache-subscriber", - "version": "0.1.0", - "version_normalized": "0.1.0.0", + "name": "platformsh/client", + "version": "v0.19.0", + "version_normalized": "0.19.0.0", "source": { "type": "git", - "url": "https://github.com/guzzle/cache-subscriber.git", - "reference": "ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858" + "url": "https://github.com/platformsh/platformsh-client-php.git", + "reference": "e5baf70609b6fe47fac22e8f6cee364112d548f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/cache-subscriber/zipball/ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858", - "reference": "ecb903f6e11b5ca9f2cdbc460e2e68deea9e8858", + "url": "https://api.github.com/repos/platformsh/platformsh-client-php/zipball/e5baf70609b6fe47fac22e8f6cee364112d548f0", + "reference": "e5baf70609b6fe47fac22e8f6cee364112d548f0", "shasum": "" }, "require": { - "doctrine/cache": "~1.3", - "guzzlehttp/guzzle": "~5.0", - "php": ">=5.4.0" + "cocur/slugify": "^2.0 || ~1.0", + "commerceguys/guzzle-oauth2-plugin": "~2.0", + "cweagans/composer-patches": "~1.0", + "guzzlehttp/cache-subscriber": "~0.1", + "guzzlehttp/guzzle": "~5.3" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.5" }, - "time": "2014-10-29T21:06:25+00:00", + "time": "2018-05-16T13:05:28+00:00", "type": "library", "extra": { - "branch-alias": { - "dev-master": "0.1-dev" + "patches": { + "commerceguys/guzzle-oauth2-plugin": { + "Make it possible to get the access token without triggering a refresh": "https://github.com/pjcdawkins/guzzle-oauth2-plugin/commit/d2d720015813185d1ad4fa12884cab9bac6a8b25.patch" + } } }, "installation-source": "dist", "autoload": { "psr-4": { - "GuzzleHttp\\Subscriber\\Cache\\": "src" + "Platformsh\\Client\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -646,51 +774,39 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowl...@gmail.com", - "homepage": "https://github.com/mtdowling" + "name": "Patrick Dawkins" } ], - "description": "Guzzle HTTP cache subscriber", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "cache" - ] + "description": "Platform.sh API client" }, { - "name": "commerceguys/guzzle-oauth2-plugin", - "version": "v2.1.1", - "version_normalized": "2.1.1.0", + "name": "platformsh/console-form", + "version": "v0.0.20", + "version_normalized": "0.0.20.0", "source": { "type": "git", - "url": "https://github.com/commerceguys/guzzle-oauth2-plugin.git", - "reference": "f7ed19171c3c5accfb6f0b3d1209eb5815ef8148" + "url": "https://github.com/platformsh/console-form.git", + "reference": "8fb1a45fb3acb05826a411dddd45c7b86def80f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/commerceguys/guzzle-oauth2-plugin/zipball/f7ed19171c3c5accfb6f0b3d1209eb5815ef8148", - "reference": "f7ed19171c3c5accfb6f0b3d1209eb5815ef8148", + "url": "https://api.github.com/repos/platformsh/console-form/zipball/8fb1a45fb3acb05826a411dddd45c7b86def80f3", + "reference": "8fb1a45fb3acb05826a411dddd45c7b86def80f3", "shasum": "" }, "require": { - "firebase/php-jwt": "~2.0", - "guzzlehttp/guzzle": "~5.0" + "php": ">=5.5.9", + "symfony/console": "^3.0 || ^2.6" }, "require-dev": { - "phpunit/phpunit": "~4.5" + "phpunit/phpunit": "^5.0" }, - "time": "2015-12-12T23:27:25+00:00", + "time": "2018-03-20T19:18:47+00:00", "type": "library", - "extra": { - "patches_applied": { - "Make it possible to get the access token without triggering a refresh": "https://github.com/pjcdawkins/guzzle-oauth2-plugin/commit/d2d720015813185d1ad4fa12884cab9bac6a8b25.patch" - } - }, "installation-source": "dist", "autoload": { "psr-4": { - "CommerceGuys\\Guzzle\\Oauth2\\": "src" + "Platformsh\\ConsoleForm\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -699,60 +815,40 @@ ], "authors": [ { - "name": "Bojan Zivanovic" - }, - { - "name": "Damien Tournoud" - }, - { "name": "Patrick Dawkins" } ], - "description": "An OAuth2 plugin (subscriber) for Guzzle" + "description": "A lightweight Symfony Console form system." }, { - "name": "cocur/slugify", - "version": "v2.5", - "version_normalized": "2.5.0.0", + "name": "psr/container", + "version": "1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/cocur/slugify.git", - "reference": "e8167e9a3236044afebd6e8ab13ebeb3ec9ca145" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cocur/slugify/zipball/e8167e9a3236044afebd6e8ab13ebeb3ec9ca145", - "reference": "e8167e9a3236044afebd6e8ab13ebeb3ec9ca145", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { - "php": ">=5.5.9" - }, - "require-dev": { - "laravel/framework": "~5.1", - "latte/latte": "~2.2", - "league/container": "^2.2.0", - "mikey179/vfsstream": "~1.6", - "mockery/mockery": "~0.9", - "nette/di": "~2.2", - "phpunit/phpunit": "~4.8|~5.2", - "pimple/pimple": "~1.1", - "plumphp/plum": "~0.1", - "silex/silex": "~1.3", - "symfony/config": "~2.4|~3.0", - "symfony/dependency-injection": "~2.4|~3.0", - "symfony/http-kernel": "~2.4|~3.0", - "twig/twig": "~1.26|~2.0", - "zendframework/zend-modulemanager": "~2.2", - "zendframework/zend-servicemanager": "~2.2", - "zendframework/zend-view": "~2.2" + "php": ">=5.3.0" }, - "time": "2017-03-23T21:52:55+00:00", + "time": "2017-02-14T16:28:37+00:00", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "installation-source": "dist", "autoload": { "psr-4": { - "Cocur\\Slugify\\": "src" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -761,59 +857,49 @@ ], "authors": [ { - "name": "Ivo Bathke", - "email": "ivo.bat...@gmail.com" - }, - { - "name": "Florian Eckerstorfer", - "email": "flor...@eckerstorfer.co", - "homepage": "https://florian.ec" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Converts a string into a slug.", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "slug", - "slugify" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ] }, { - "name": "platformsh/client", - "version": "v0.19.0", - "version_normalized": "0.19.0.0", + "name": "psr/log", + "version": "1.0.2", + "version_normalized": "1.0.2.0", "source": { "type": "git", - "url": "https://github.com/platformsh/platformsh-client-php.git", - "reference": "e5baf70609b6fe47fac22e8f6cee364112d548f0" + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/platformsh/platformsh-client-php/zipball/e5baf70609b6fe47fac22e8f6cee364112d548f0", - "reference": "e5baf70609b6fe47fac22e8f6cee364112d548f0", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", "shasum": "" }, "require": { - "cocur/slugify": "^2.0 || ~1.0", - "commerceguys/guzzle-oauth2-plugin": "~2.0", - "cweagans/composer-patches": "~1.0", - "guzzlehttp/cache-subscriber": "~0.1", - "guzzlehttp/guzzle": "~5.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.5" + "php": ">=5.3.0" }, - "time": "2018-05-16T13:05:28+00:00", + "time": "2016-10-10T12:19:37+00:00", "type": "library", "extra": { - "patches": { - "commerceguys/guzzle-oauth2-plugin": { - "Make it possible to get the access token without triggering a refresh": "https://github.com/pjcdawkins/guzzle-oauth2-plugin/commit/d2d720015813185d1ad4fa12884cab9bac6a8b25.patch" - } + "branch-alias": { + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Platformsh\\Client\\": "src" + "Psr\\Log\\": "Psr/Log/" } }, "notification-url": "https://packagist.org/downloads/", @@ -822,46 +908,48 @@ ], "authors": [ { - "name": "Patrick Dawkins" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Platform.sh API client" + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ] }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.7.0", - "version_normalized": "1.7.0.0", + "name": "react/promise", + "version": "v2.5.1", + "version_normalized": "2.5.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" + "url": "https://github.com/reactphp/promise.git", + "reference": "62785ae604c8d69725d693eb370e1d67e94c4053" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "url": "https://api.github.com/repos/reactphp/promise/zipball/62785ae604c8d69725d693eb370e1d67e94c4053", + "reference": "62785ae604c8d69725d693eb370e1d67e94c4053", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.4.0" }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "phpunit/phpunit": "~4.8" }, - "time": "2018-01-30T19:27:44+00:00", + "time": "2017-03-25T12:08:31+00:00", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "React\\Promise\\": "src/" }, "files": [ - "bootstrap.php" + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -870,53 +958,49 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p...@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jan Sorgalla", + "email": "jsorga...@gmail.com" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "A lightweight implementation of CommonJS Promises/A for PHP", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "promise", + "promises" ] }, { - "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "name": "stecman/symfony-console-completion", + "version": "0.8.0", + "version_normalized": "0.8.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "url": "https://github.com/stecman/symfony-console-completion.git", + "reference": "cd738867503477e91dbe84173dfabd431c883431" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/stecman/symfony-console-completion/zipball/cd738867503477e91dbe84173dfabd431c883431", + "reference": "cd738867503477e91dbe84173dfabd431c883431", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.3.2", + "symfony/console": "~2.3 || ~3.0 || ~4.0" }, - "time": "2016-10-10T12:19:37+00:00", + "require-dev": { + "phpunit/phpunit": "~4.8.36 || ~5.7 || ~6.4" + }, + "time": "2018-02-10T04:28:01+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "0.6.x-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Stecman\\Component\\Symfony\\Console\\BashCompletion\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -925,44 +1009,45 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Stephen Holdaway", + "email": "step...@stecman.co.nz" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ] + "description": "Automatic BASH completion for Symfony Console Component based applications." }, { - "name": "symfony/debug", + "name": "symfony/config", "version": "v3.4.6", "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc" + "url": "https://github.com/symfony/config.git", + "reference": "05e10567b529476a006b00746c5f538f1636810e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/9b1071f86e79e1999b3d3675d2e0e7684268b9bc", - "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc", + "url": "https://api.github.com/repos/symfony/config/zipball/05e10567b529476a006b00746c5f538f1636810e", + "reference": "05e10567b529476a006b00746c5f538f1636810e", "shasum": "" }, "require": { "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" + "symfony/filesystem": "~2.8|~3.0|~4.0" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" }, "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" }, - "time": "2018-02-28T21:49:22+00:00", + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "time": "2018-02-14T10:03:57+00:00", "type": "library", "extra": { "branch-alias": { @@ -972,7 +1057,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\Config\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -992,7 +1077,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony Config Component", "homepage": "https://symfony.com" }, { @@ -1067,80 +1152,45 @@ "homepage": "https://symfony.com" }, { - "name": "platformsh/console-form", - "version": "v0.0.20", - "version_normalized": "0.0.20.0", + "name": "symfony/debug", + "version": "v3.4.6", + "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/platformsh/console-form.git", - "reference": "8fb1a45fb3acb05826a411dddd45c7b86def80f3" + "url": "https://github.com/symfony/debug.git", + "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/platformsh/console-form/zipball/8fb1a45fb3acb05826a411dddd45c7b86def80f3", - "reference": "8fb1a45fb3acb05826a411dddd45c7b86def80f3", + "url": "https://api.github.com/repos/symfony/debug/zipball/9b1071f86e79e1999b3d3675d2e0e7684268b9bc", + "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc", "shasum": "" }, "require": { - "php": ">=5.5.9", - "symfony/console": "^3.0 || ^2.6" - }, - "require-dev": { - "phpunit/phpunit": "^5.0" - }, - "time": "2018-03-20T19:18:47+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Platformsh\\ConsoleForm\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Patrick Dawkins" - } - ], - "description": "A lightweight Symfony Console form system." - }, - { - "name": "stecman/symfony-console-completion", - "version": "0.8.0", - "version_normalized": "0.8.0.0", - "source": { - "type": "git", - "url": "https://github.com/stecman/symfony-console-completion.git", - "reference": "cd738867503477e91dbe84173dfabd431c883431" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stecman/symfony-console-completion/zipball/cd738867503477e91dbe84173dfabd431c883431", - "reference": "cd738867503477e91dbe84173dfabd431c883431", - "shasum": "" + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0" }, - "require": { - "php": ">=5.3.2", - "symfony/console": "~2.3 || ~3.0 || ~4.0" + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "phpunit/phpunit": "~4.8.36 || ~5.7 || ~6.4" + "symfony/http-kernel": "~2.8|~3.0|~4.0" }, - "time": "2018-02-10T04:28:01+00:00", + "time": "2018-02-28T21:49:22+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "0.6.x-dev" + "dev-master": "3.4-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Stecman\\Component\\Symfony\\Console\\BashCompletion\\": "src/" - } + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1148,31 +1198,58 @@ ], "authors": [ { - "name": "Stephen Holdaway", - "email": "step...@stecman.co.nz" + "name": "Fabien Potencier", + "email": "fab...@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Automatic BASH completion for Symfony Console Component based applications." + "description": "Symfony Debug Component", + "homepage": "https://symfony.com" }, { - "name": "symfony/filesystem", + "name": "symfony/dependency-injection", "version": "v3.4.6", "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541", - "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/12e901abc1cb0d637a0e5abe9923471361d96b07", + "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^5.5.9|>=7.0.8", + "psr/container": "^1.0" }, - "time": "2018-02-22T10:48:49+00:00", + "conflict": { + "symfony/config": "<3.3.7", + "symfony/finder": "<3.3", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "time": "2018-03-04T03:54:53+00:00", "type": "library", "extra": { "branch-alias": { @@ -1182,7 +1259,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Component\\DependencyInjection\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1202,40 +1279,40 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", + "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com" }, { - "name": "symfony/config", + "name": "symfony/event-dispatcher", "version": "v3.4.6", "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "05e10567b529476a006b00746c5f538f1636810e" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "58990682ac3fdc1f563b7e705452921372aad11d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/05e10567b529476a006b00746c5f538f1636810e", - "reference": "05e10567b529476a006b00746c5f538f1636810e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc1f563b7e705452921372aad11d", + "reference": "58990682ac3fdc1f563b7e705452921372aad11d", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0" + "php": "^5.5.9|>=7.0.8" }, "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" + "symfony/dependency-injection": "<3.3" }, "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" }, "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "time": "2018-02-14T10:03:57+00:00", "type": "library", @@ -1247,7 +1324,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Config\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1267,101 +1344,28 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", + "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com" }, { - "name": "psr/container", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2017-02-14T16:28:37+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ] - }, - { - "name": "symfony/dependency-injection", + "name": "symfony/filesystem", "version": "v3.4.6", "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07" + "url": "https://github.com/symfony/filesystem.git", + "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/12e901abc1cb0d637a0e5abe9923471361d96b07", - "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541", + "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/container": "^1.0" - }, - "conflict": { - "symfony/config": "<3.3.7", - "symfony/finder": "<3.3", - "symfony/proxy-manager-bridge": "<3.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "psr/container-implementation": "1.0" - }, - "require-dev": { - "symfony/config": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "php": "^5.5.9|>=7.0.8" }, - "time": "2018-03-04T03:54:53+00:00", + "time": "2018-02-22T10:48:49+00:00", "type": "library", "extra": { "branch-alias": { @@ -1371,7 +1375,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" + "Symfony\\Component\\Filesystem\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1391,42 +1395,28 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", + "description": "Symfony Filesystem Component", "homepage": "https://symfony.com" }, { - "name": "symfony/event-dispatcher", + "name": "symfony/finder", "version": "v3.4.6", "version_normalized": "3.4.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "58990682ac3fdc1f563b7e705452921372aad11d" + "url": "https://github.com/symfony/finder.git", + "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc1f563b7e705452921372aad11d", - "reference": "58990682ac3fdc1f563b7e705452921372aad11d", + "url": "https://api.github.com/repos/symfony/finder/zipball/a479817ce0a9e4adfd7d39c6407c95d97c254625", + "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625", "shasum": "" }, "require": { "php": "^5.5.9|>=7.0.8" }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "time": "2018-02-14T10:03:57+00:00", + "time": "2018-03-05T18:28:11+00:00", "type": "library", "extra": { "branch-alias": { @@ -1436,7 +1426,7 @@ "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1456,41 +1446,44 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony Finder Component", "homepage": "https://symfony.com" }, { - "name": "symfony/finder", - "version": "v3.4.6", - "version_normalized": "3.4.6.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.7.0", + "version_normalized": "1.7.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/a479817ce0a9e4adfd7d39c6407c95d97c254625", - "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=5.3.3" }, - "time": "2018-03-05T18:28:11+00:00", + "suggest": { + "ext-mbstring": "For best performance" + }, + "time": "2018-01-30T19:27:44+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.7-dev" } }, "installation-source": "dist", "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1499,16 +1492,23 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fab...@symfony.com" + "name": "Nicolas Grekas", + "email": "p...@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", - "homepage": "https://symfony.com" + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ] }, { "name": "symfony/process",