Problem/Motivation

Output of composer outdated -m on PHP 5.5

behat/mink                           dev-master 9ea1ceb dev-master d5ee350 Browser controller/emulator abstraction for PHP
behat/mink-browserkit-driver         v1.3.2             1.3.3              Symfony2 BrowserKit driver for Mink framework
behat/mink-selenium2-driver          dev-master 93474c6 dev-master f4efaf5 Selenium2 (WebDriver) driver for Mink framework
composer/installers                  v1.5.0             v1.6.0             A multi-framework Composer library installer
doctrine/cache                       v1.6.1             v1.6.2             Caching library offering an object-oriented API for many cache backends
drupal/coder                         8.2.12             8.3.0              Coder is a library to review Drupal code.
fabpot/goutte                        v3.2.1             v3.2.3             A simple PHP Web Scraper
guzzlehttp/guzzle                    6.3.0              6.3.3              Guzzle is a PHP HTTP client library
jcalderonzumba/gastonjs              v1.0.2             v1.2.0             PhantomJS API based server for webpage automation
jcalderonzumba/mink-phantomjs-driver v0.3.2             v0.3.3             PhantomJS driver for Mink framework
paragonie/random_compat              v2.0.11            v2.0.17            PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
phpdocumentor/reflection-docblock    2.0.4              2.0.5
phpspec/prophecy                     v1.7.0             1.8.0              Highly opinionated mocking framework for PHP 5.3+
phpunit/php-file-iterator            1.4.2              1.4.5              FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-token-stream             1.4.11             1.4.12             Wrapper around PHP's tokenizer extension.
sebastian/diff                       1.4.1              1.4.3              Diff implementation
squizlabs/php_codesniffer            2.8.1              2.9.1              PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.
symfony/browser-kit                  v3.4.14            v3.4.15            Symfony BrowserKit Component
symfony/class-loader                 v3.4.14            v3.4.15            Symfony ClassLoader Component
symfony/console                      v3.4.14            v3.4.15            Symfony Console Component
symfony/css-selector                 v3.4.14            v3.4.15            Symfony CssSelector Component
symfony/debug                        v3.4.14            v3.4.15            Symfony Debug Component
symfony/dependency-injection         v3.4.14            v3.4.15            Symfony DependencyInjection Component
symfony/dom-crawler                  v3.4.14            v3.4.15            Symfony DomCrawler Component
symfony/event-dispatcher             v3.4.14            v3.4.15            Symfony EventDispatcher Component
symfony/http-foundation              v3.4.14            v3.4.15            Symfony HttpFoundation Component
symfony/http-kernel                  v3.4.14            v3.4.15            Symfony HttpKernel Component
symfony/phpunit-bridge               v3.4.14            v3.4.15            Symfony PHPUnit Bridge
symfony/polyfill-ctype               v1.8.0             v1.9.0             Symfony polyfill for ctype functions
symfony/polyfill-iconv               v1.8.0             v1.9.0             Symfony polyfill for the Iconv extension
symfony/polyfill-mbstring            v1.8.0             v1.9.0             Symfony polyfill for the Mbstring extension
symfony/polyfill-php70               v1.8.0             v1.9.0             Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions
symfony/process                      v3.4.14            v3.4.15            Symfony Process Component
symfony/psr-http-message-bridge      v1.0.2             v1.1.0             PSR HTTP message bridge
symfony/routing                      v3.4.14            v3.4.15            Symfony Routing Component
symfony/serializer                   v3.4.14            v3.4.15            Symfony Serializer Component
symfony/translation                  v3.4.14            v3.4.15            Symfony Translation Component
symfony/validator                    v3.4.14            v3.4.15            Symfony Validator Component
symfony/yaml                         v3.4.14            v3.4.15            Symfony Yaml Component
twig/twig                            v1.35.3            v1.35.4            Twig, the flexible, fast, and secure template language for PHP

Proposed resolution

Run the command composer update phpunit/php-file-iterator phpunit/php-token-stream doctrine/cache fabpot/goutte behat/mink-browserkit-driver phpunit/php-token-stream sebastian/diff twig/twig paragonie/random_compat "symfony/*"

Output afterwards

behat/mink                           dev-master 9ea1ceb dev-master d5ee350 Browser controller/emulator abstraction for PHP
behat/mink-selenium2-driver          dev-master 93474c6 dev-master f4efaf5 Selenium2 (WebDriver) driver for Mink framework
composer/installers                  v1.5.0             v1.6.0             A multi-framework Composer library installer
drupal/coder                         8.2.12             8.3.0              Coder is a library to review Drupal code.
guzzlehttp/guzzle                    6.3.0              6.3.3              Guzzle is a PHP HTTP client library
jcalderonzumba/gastonjs              v1.0.2             v1.2.0             PhantomJS API based server for webpage automation
jcalderonzumba/mink-phantomjs-driver v0.3.2             v0.3.3             PhantomJS driver for Mink framework
phpdocumentor/reflection-docblock    2.0.4              2.0.5
phpspec/prophecy                     v1.7.0             1.8.0              Highly opinionated mocking framework for PHP 5.3+
squizlabs/php_codesniffer            2.8.1              2.9.1              PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.

Remaining tasks

Review.

User interface changes

None

API changes

None

Data model changes

None

Comments

jibran created an issue. See original summary.

jibran’s picture

StatusFileSize
new8 KB
jibran’s picture

Status: Active » Needs review
StatusFileSize
new8 KB

Status: Needs review » Needs work

The last submitted patch, 3: 2992113-3-8.6.x.patch, failed testing. View results

alexpott’s picture

Status: Needs work » Needs review
StatusFileSize
new2.37 KB
new10.36 KB

Fixing the test. It seems that guzzle has change how it handles headers with an empty string. I.e. it now sends them.

alexpott’s picture

Issue summary: View changes
StatusFileSize
new17.94 KB
new27.93 KB

Patch attached also updates symfony components to 3.4.15 and the other symfony polyfills to 1.9.0 (symfony/polyfill-ctype and symfony/polyfill-php70)

jibran’s picture

Status: Needs review » Reviewed & tested by the community

This looks ready to me.

jibran’s picture

Title: Update core dependencies before 8.6.0 » Update core dependencies before 8.6.1

And we missed the window but there is another core release right around the corner.

larowlan’s picture

Title: Update core dependencies before 8.6.1 » Update core dependencies before 8.6.2
larowlan’s picture

Status: Reviewed & tested by the community » Needs work

Looks like there are few more updates since

fabpot/goutte                        v3.2.1             v3.2.3
behat/mink-browserkit-driver         v1.3.2             1.3.3
alexpott’s picture

Status: Needs work » Needs review
StatusFileSize
new9.29 KB
new37.11 KB

Patch updates those two things.

Here's the output of composer outdated -m on PHP 5.5.

behat/mink                           dev-master 9ea1ceb dev-master d5ee350 Browser controller/emulator abstraction for PHP
behat/mink-selenium2-driver          dev-master 93474c6 dev-master f4efaf5 Selenium2 (WebDriver) driver for Mink framework
composer/installers                  v1.5.0             v1.6.0             A multi-framework Composer library installer
doctrine/cache                       v1.6.1             v1.6.2             Caching library offering an object-oriented API for many cache backends
drupal/coder                         8.2.12             8.3.0              Coder is a library to review Drupal code.
jcalderonzumba/gastonjs              v1.0.2             v1.2.0             PhantomJS API based server for webpage automation
jcalderonzumba/mink-phantomjs-driver v0.3.2             v0.3.3             PhantomJS driver for Mink framework
phpdocumentor/reflection-docblock    2.0.4              2.0.5
phpspec/prophecy                     v1.7.0             1.8.0              Highly opinionated mocking framework for PHP 5.3+
phpunit/php-file-iterator            1.4.2              1.4.5              FilterIterator implementation that filters files based on a list of suffixes.
phpunit/php-token-stream             1.4.11             1.4.12             Wrapper around PHP's tokenizer extension.
sebastian/diff                       1.4.1              1.4.3              Diff implementation
squizlabs/php_codesniffer            2.8.1              2.9.1              PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.

After running composer update phpunit/php-file-iterator phpunit/php-token-stream doctrine/cache fabpot/goutte behat/mink-browserkit-driver phpunit/php-token-stream sebastian/diff here's the list

behat/mink                           dev-master 9ea1ceb dev-master d5ee350 Browser controller/emulator abstraction for PHP
behat/mink-selenium2-driver          dev-master 93474c6 dev-master f4efaf5 Selenium2 (WebDriver) driver for Mink framework
composer/installers                  v1.5.0             v1.6.0             A multi-framework Composer library installer
drupal/coder                         8.2.12             8.3.0              Coder is a library to review Drupal code.
jcalderonzumba/gastonjs              v1.0.2             v1.2.0             PhantomJS API based server for webpage automation
jcalderonzumba/mink-phantomjs-driver v0.3.2             v0.3.3             PhantomJS driver for Mink framework
phpdocumentor/reflection-docblock    2.0.4              2.0.5
phpspec/prophecy                     v1.7.0             1.8.0              Highly opinionated mocking framework for PHP 5.3+
squizlabs/php_codesniffer            2.8.1              2.9.1              PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.

I've not bumped phpdocumentor/reflection-docblock because adds a whole load of new dependencies so I'm not sure that that is appropriate.

alexpott’s picture

I look forward to the days when we don't ship a composer.lock file.

larowlan’s picture

I look forward to the days when we don't ship a composer.lock file.

yep

jibran’s picture

Status: Needs review » Reviewed & tested by the community

Back to RTBC given it passes on 5.5 and 5.6

mile23’s picture

alexpott’s picture

The 5.5 and 5.6 fails were due to a HEAD fail caused by #2856967: Allow admins to select a default entity moderation state

catch’s picture

Status: Reviewed & tested by the community » Needs review
+++ b/composer.lock
@@ -4586,7 +4592,7 @@
     ],
     "aliases": [],
diff --git a/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php b/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php

diff --git a/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php b/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php
index 42c7b2c50a..cb3ef3e27a 100644

index 42c7b2c50a..cb3ef3e27a 100644
--- a/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php

--- a/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php
+++ b/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php

+++ b/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php
+++ b/core/modules/rest/tests/src/Functional/FileUploadResourceTestBase.php
@@ -254,7 +254,7 @@ public function testPostFileUploadInvalidHeaders() {

@@ -254,7 +254,7 @@ public function testPostFileUploadInvalidHeaders() {
     $this->assertResourceErrorResponse(415, sprintf('No route found that matches "Content-Type: %s"', static::$mimeType), $response);
 
     // An empty Content-Disposition header should return a 400.
-    $response = $this->fileRequest($uri, $this->testFileData, ['Content-Disposition' => '']);
+    $response = $this->fileRequest($uri, $this->testFileData, ['Content-Disposition' => FALSE]);
     $this->assertResourceErrorResponse(400, '"Content-Disposition" header is required. A file name in the format "filename=FILENAME" must be provided', $response);

This is a bit unfortunate for a patch update - is it a minor update for the dependency? And if so could we split that into its own issue? I realise it's only test coverage but still makes this more complicated than it could be.

alexpott’s picture

Issue summary: View changes
StatusFileSize
new4.21 KB
new33.02 KB

It's caused by the Guzzle update from 6.3.0 to 6.3.3 so not a minor update but a patch update. Let's remove the Guzzle update and put it in its own issue.

jibran’s picture

Status: Needs review » Reviewed & tested by the community

Looks great!

larowlan’s picture

Adding review credits that changed the patch

larowlan’s picture

Status: Reviewed & tested by the community » Fixed

Committed 31147a0 and pushed to 8.7.x. Thanks!

jibran’s picture

Not pushed yet.

  • larowlan committed 31147a0 on 8.7.x
    Issue #2992113 by alexpott, jibran, larowlan, catch: Update core...

  • alexpott committed 9862aec on 8.6.x authored by larowlan
    Issue #2992113 by alexpott, jibran, larowlan, catch: Update core...
larowlan’s picture

Version: 8.7.x-dev » 8.6.x-dev

Thanks @alexpott and @jibran, I was in a bit of a hurry here.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.