Follow-up to #2859772: Update Symfony components to ~2.8.18

Follow-up to #2840596: Update Symfony components to ~2.8.16

Problem/Motivation

While we now have Symfony updated to 2.8.18, other dependencies still need to be updated.

Proposed resolution

  - Removing zendframework/zend-hydrator (1.0.0)
  - Removing composer/installers (v1.0.21)
  - Installing composer/installers (v1.2.0)
  - Updating wikimedia/composer-merge-plugin (v1.3.1 => v1.4.0)
  - Updating composer/semver (1.0.0 => 1.4.2)
  - Updating doctrine/inflector (v1.0.1 => v1.1.0)
  - Updating doctrine/cache (v1.4.2 => v1.6.1)
  - Updating doctrine/common (v2.5.1 => v2.6.2)
  - Updating egulias/email-validator (1.2.9 => 1.2.14)
  - Updating guzzlehttp/promises (1.2.0 => v1.3.1)
  - Updating psr/http-message (1.0 => 1.0.1)
  - Updating guzzlehttp/psr7 (1.3.1 => 1.4.2)
  - Updating masterminds/html5 (2.2.1 => 2.2.2)
  - Updating paragonie/random_compat (v2.0.2 => v2.0.10)
  - Updating psr/log (1.0.0 => 1.0.2)
  - Updating symfony/psr-http-message-bridge (v0.2 => v1.0.0)
  - Updating zendframework/zend-diactoros (1.1.3 => 1.3.10)
  - Updating zendframework/zend-stdlib (2.7.3 => 3.0.1)
  - Updating zendframework/zend-escaper (2.5.1 => 2.5.2)
  - Updating zendframework/zend-feed (2.5.2 => 2.7.0)
  - Updating guzzlehttp/guzzle (6.2.1 => 6.2.3)
  - Updating fabpot/goutte (v3.1.2 => v3.2.1)
  - Updating mikey179/vfsstream (v1.6.0 => v1.6.4)
  - Updating sebastian/recursion-context (1.0.1 => 1.0.5)
  - Updating sebastian/exporter (1.2.1 => 1.2.2)
  - Updating sebastian/diff (1.3.0 => 1.4.1)
  - Updating phpspec/prophecy (v1.5.0 => v1.7.0)
  - Updating phpunit/php-file-iterator (1.4.1 => 1.4.2)
  - Updating phpunit/php-timer (1.0.7 => 1.0.9)
  - Updating phpunit/php-token-stream (1.4.8 => 1.4.11)
  - Updating sebastian/environment (1.3.2 => 1.3.8)
  - Updating sebastian/global-state (1.0.0 => 1.1.1)
  - Removing behat/mink (dev-master 12e09bf)
  - Installing behat/mink (dev-master 9ea1ceb)

Remaining tasks

Fix it.

User interface changes

None

API changes

Hopefuly none.

Data model changes

None.

Comments

pwolanin created an issue. See original summary.

pwolanin’s picture

pwolanin’s picture

Priority: Normal » Major
Status: Active » Needs review
StatusFileSize
new67.25 KB

Running a full composer update brings in a lot of changes (see attached patch)

minor version updates:

             "name": "composer/installers",
-            "version": "v1.0.21",
+            "version": "v1.2.0",

             "name": "composer/semver",
-            "version": "1.0.0",
+            "version": "1.4.2",

             "name": "doctrine/cache",
-            "version": "v1.4.2",
+            "version": "v1.6.1",

             "name": "doctrine/collections",
-            "version": "v1.3.0",
+            "version": "v1.4.0",


             "name": "doctrine/inflector",
-            "version": "v1.0.1",
+            "version": "v1.1.0",


             "name": "guzzlehttp/promises",
-            "version": "1.2.0",
+            "version": "v1.3.1",

             "name": "guzzlehttp/psr7",
-            "version": "1.3.1",
+            "version": "1.4.2",

             "name": "twig/twig",
-            "version": "v1.25.0",
+            "version": "v1.32.0",

             "name": "wikimedia/composer-merge-plugin",
-            "version": "v1.3.1",
+            "version": "v1.4.0",

             "name": "zendframework/zend-diactoros",
-            "version": "1.1.3",
+            "version": "1.3.10",

             "name": "zendframework/zend-feed",
-            "version": "2.5.2",
+            "version": "2.7.0",

             "name": "zendframework/zend-stdlib",
-            "version": "2.7.3",
+            "version": "3.1.0",

             "name": "fabpot/goutte",
-            "version": "v3.1.2",
+            "version": "v3.2.1",

             "name": "phpdocumentor/reflection-docblock",
-            "version": "2.0.4",
+            "version": "3.1.1",

             "name": "phpspec/prophecy",
-            "version": "v1.5.0",
+            "version": "v1.7.0",

             "name": "sebastian/diff",
-            "version": "1.3.0",
+            "version": "1.4.1",

no longer required: "zendframework/zend-hydrator"

new:
"phpdocumentor/reflection-common",
"webmozart/assert",

Status: Needs review » Needs work

The last submitted patch, 3: 2862254-3.patch, failed testing.

cilefen’s picture

Issue tags: +rc target
jibran’s picture

I think we should identify the trivial updates here so that we can move them to 8.3.x and major updates should be moved to separate 8.4.x only issue.

slasher13’s picture

Status: Needs work » Needs review
StatusFileSize
new27.98 KB

patch releases only

slasher13’s picture

StatusFileSize
new30.93 KB
new3.15 KB

missed jcalderonzumba/*

jibran’s picture

Perfect. Fingers crossed for green.

jibran’s picture

Do you think we should update all the packages listed by composer outdated -m?

Status: Needs review » Needs work

The last submitted patch, 8: 2862254-8.patch, failed testing.

slasher13’s picture

Status: Needs work » Needs review
StatusFileSize
new29.77 KB
new1.96 KB

Interdiff to #7

replace dev dependency of behat/mink

Hopefully it can be committed step by step and we can identify the problematic packages.
If we can't update the package, we should adapt version dependencies in composer.json.

Status: Needs review » Needs work

The last submitted patch, 12: 2862254-12.patch, failed testing.

jibran’s picture

+++ b/composer.lock
@@ -2889,7 +2889,7 @@
-            "time": "2016-10-17T08:31:38+00:00"
+            "time": "2016-03-05T08:26:18+00:00"

Nope, we can't do that. We are actually blocked on https://github.com/minkphp/Mink/issues/725.

jibran’s picture

Status: Needs work » Needs review
StatusFileSize
new41.1 KB
new59.79 KB

Let's try to update all the outdated packages to minor versions.

 composer outdated -m 
behat/mink                           dev-master 12e09bf dev-master 9ea1ceb Browser controller/emulator abstraction for PHP
composer/installers                  v1.0.21            v1.2.0             A multi-framework Composer library installer
composer/semver                      1.0.0              1.4.2              Semver library that offers utilities, version constraint parsing a...
doctrine/annotations                 v1.2.7             v1.4.0             Docblock Annotations Parser
doctrine/cache                       v1.4.2             v1.6.1             Caching library offering an object-oriented API for many cache bac...
doctrine/collections                 v1.3.0             v1.4.0             Collections Abstraction library
doctrine/common                      v2.5.1             v2.7.2             Common Library for Doctrine projects
doctrine/inflector                   v1.0.1             v1.1.0             Common String Manipulations with regard to casing and singular/plu...
egulias/email-validator              1.2.9              1.2.14             A library for validating emails
fabpot/goutte                        v3.1.2             v3.2.1             A simple PHP Web Scraper
guzzlehttp/guzzle                    6.2.1              6.2.3              Guzzle is a PHP HTTP client library
guzzlehttp/promises                  1.2.0              v1.3.1             Guzzle promises library
guzzlehttp/psr7                      1.3.1              1.4.2              PSR-7 message implementation
jcalderonzumba/gastonjs              v1.0.2             v1.1.0             PhantomJS API based server for webpage automation
jcalderonzumba/mink-phantomjs-driver v0.3.1             v0.3.3             PhantomJS driver for Mink framework
masterminds/html5                    2.2.1              2.2.2              An HTML5 parser and serializer.
mikey179/vfsStream                   v1.6.0             v1.6.4             Virtual file system to mock the real file system in unit tests.
paragonie/random_compat              v2.0.2             v2.0.10            PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
phpspec/prophecy                     v1.5.0             v1.7.0             Highly opinionated mocking framework for PHP 5.3+
phpunit/php-file-iterator            1.4.1              1.4.2              FilterIterator implementation that filters files based on a list o...
phpunit/php-timer                    1.0.7              1.0.9              Utility class for timing
phpunit/php-token-stream             1.4.8              1.4.11             Wrapper around PHP's tokenizer extension.
psr/http-message                     1.0                1.0.1              Common interface for HTTP messages
psr/log                              1.0.0              1.0.2              Common interface for logging libraries
sebastian/diff                       1.3.0              1.4.1              Diff implementation
sebastian/environment                1.3.2              1.3.8              Provides functionality to handle HHVM/PHP environments
sebastian/exporter                   1.2.1              1.2.2              Provides the functionality to export PHP variables for visualization
sebastian/global-state               1.0.0              1.1.1              Snapshotting of global state
sebastian/recursion-context          1.0.1              1.0.5              Provides functionality to recursively process PHP variables
twig/twig                            v1.25.0            v1.33.0            Twig, the flexible, fast, and secure template language for PHP
wikimedia/composer-merge-plugin      v1.3.1             v1.4.0             Composer plugin to merge multiple composer.json files
zendframework/zend-diactoros         1.1.3              1.3.10             PSR HTTP Message implementations
zendframework/zend-escaper           2.5.1              2.5.2             
zendframework/zend-feed              2.5.2              2.7.0              provides functionality for consuming RSS and Atom feeds
zendframework/zend-hydrator          1.0.0              1.1.0             
zendframework/zend-stdlib            2.7.3              2.7.7         
  - Removing zendframework/zend-hydrator (1.0.0)
  - Removing composer/installers (v1.0.21)
  - Installing composer/installers (v1.2.0)
  - Updating wikimedia/composer-merge-plugin (v1.3.1 => v1.4.0): 
  - Updating composer/semver (1.0.0 => 1.4.2): 
  - Updating doctrine/inflector (v1.0.1 => v1.1.0): 
  - Updating doctrine/collections (v1.3.0 => v1.4.0): 
  - Updating doctrine/cache (v1.4.2 => v1.6.1): 
  - Updating doctrine/annotations (v1.2.7 => v1.4.0): 
  - Updating doctrine/common (v2.5.1 => v2.7.2): 
  - Updating egulias/email-validator (1.2.9 => 1.2.14): 
  - Updating guzzlehttp/promises (1.2.0 => v1.3.1): 
  - Updating psr/http-message (1.0 => 1.0.1): 
  - Updating guzzlehttp/psr7 (1.3.1 => 1.4.2): 
  - Updating masterminds/html5 (2.2.1 => 2.2.2): 
  - Updating paragonie/random_compat (v2.0.2 => v2.0.10): 
  - Updating psr/log (1.0.0 => 1.0.2): 
  - Updating twig/twig (v1.25.0 => v1.33.0): 
  - Updating zendframework/zend-diactoros (1.1.3 => 1.3.10): 
  - Updating zendframework/zend-stdlib (2.7.3 => 3.1.0): 
  - Updating zendframework/zend-escaper (2.5.1 => 2.5.2): 
  - Updating zendframework/zend-feed (2.5.2 => 2.7.0): 
  - Updating guzzlehttp/guzzle (6.2.1 => 6.2.3): 
  - Updating fabpot/goutte (v3.1.2 => v3.2.1): 
  - Updating mikey179/vfsstream (v1.6.0 => v1.6.4): 
  - Updating sebastian/recursion-context (1.0.1 => 1.0.5): 
  - Updating sebastian/exporter (1.2.1 => 1.2.2): 
  - Updating sebastian/diff (1.3.0 => 1.4.1): 
  - Updating phpspec/prophecy (v1.5.0 => v1.7.0): 
  - Updating phpunit/php-file-iterator (1.4.1 => 1.4.2): 
  - Updating phpunit/php-timer (1.0.7 => 1.0.9): 
  - Updating phpunit/php-token-stream (1.4.8 => 1.4.11): 
  - Updating sebastian/environment (1.3.2 => 1.3.8): 
  - Updating sebastian/global-state (1.0.0 => 1.1.1): 
  - Removing behat/mink (dev-master 12e09bf)
  - Installing behat/mink (dev-master 9ea1ceb)

Status: Needs review » Needs work

The last submitted patch, 15: update_non_symfony-2862254-15.patch, failed testing.

jibran’s picture

Status: Needs work » Needs review
StatusFileSize
new1.81 KB
new58.19 KB

Revert the twig update as well. Now we need two follow-up issues one for jcalderonzumba/* pacakges and one for twig/twig.
Other than that I think we should commit this ASAP and revert it if we find any BC break just like we did with symfony 3 update.

slasher13’s picture

StatusFileSize
new56.89 KB

change versions
doctrine/annotations (v1.4.0 => v1.2.7)
doctrine/collections (v1.4.0 => v1.3.0)
doctrine/common (v2.7.2 => v2.6.2)
zendframework/zend-stdlib (3.1.0 => 3.0.1)
because they require php >= 5.6
and update symfony/psr-http-message-bridge

pwolanin’s picture

I noticed the same about php 5.6 from doctrine (forgot to submit the comment earlier). At what point do we stop supporting php 5.5?

  1. +++ b/composer.lock
    @@ -341,32 +354,33 @@
                 "name": "doctrine/collections",
    -            "version": "v1.3.0",
    +            "version": "v1.4.0",
    ...
                 "require": {
    -                "php": ">=5.3.2"
    +                "php": "^5.6 || ^7.0"
    

    Do we care that this is pushing the minimum PHP to 5.6?

  2. +++ b/composer.lock
    @@ -407,20 +421,20 @@
                 "name": "doctrine/common",
    -            "version": "v2.5.1",
    +            "version": "v2.7.2",
    
    @@ -429,20 +443,20 @@
    -                "php": ">=5.3.2"
    +                "php": "~5.6|~7.0"
    

    Also going to PHP 5.6

jibran’s picture

Issue summary: View changes
Status: Needs review » Reviewed & tested by the community

I have updated the issue summary. Let's see what maintainers feel about this.
There is no code change and tests are passing and minimum PHP version requirement is fulfilled so setting it to RTBC.

Should we create a meta issue from composer outdated output? Currently, there is no way to track the library upgrades.

alexpott’s picture

Status: Reviewed & tested by the community » Needs work
  1. +++ b/core/composer.json
    @@ -20,7 +20,7 @@
    -        "doctrine/common": "2.5.*",
    +        "doctrine/common": "2.6.*",
    

    Again I think we should try to be a bit more liberal here - maybe update it to ^2.5 since there is obviously nothing in the code base that demands 2.6 so maybe you have a project that demands 2.5 and needs more time to upgrade to 2.6.

  2. +++ b/core/composer.json
    @@ -29,7 +29,7 @@
    -        "symfony/psr-http-message-bridge": "v0.2",
    +        "symfony/psr-http-message-bridge": "v1.0.0",
    

    How come where not use something more liberal like ^1.0. There is a general move away from the ~ because it is hard to understand.

slasher13’s picture

Status: Needs work » Needs review
StatusFileSize
new56.89 KB

#22.1 done
#22.2 done

jibran’s picture

Status: Needs review » Reviewed & tested by the community

Back to RTBC as #22 is addressed.

alexpott’s picture

Status: Reviewed & tested by the community » Fixed

Committed e83f9f6 and pushed to 8.4.x. Thanks!
Committed 7007e7b and pushed to 8.3.x. Thanks!

Here's the log of running composer install

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 0 installs, 49 updates, 1 removal
  - Removing zendframework/zend-hydrator (1.0.0)
  - Removing composer/installers (v1.0.21)
  - Installing composer/installers (v1.2.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating wikimedia/composer-merge-plugin (v1.3.1 => v1.4.0) Downloading: 100%
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating composer/semver (1.0.0 => 1.4.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating doctrine/inflector (v1.0.1 => v1.1.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating doctrine/cache (v1.4.2 => v1.6.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating doctrine/common (v2.5.1 => v2.6.2) Downloading: 100%
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating egulias/email-validator (1.2.9 => 1.2.14) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating guzzlehttp/promises (1.2.0 => v1.3.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating psr/http-message (1.0 => 1.0.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating guzzlehttp/psr7 (1.3.1 => 1.4.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating masterminds/html5 (2.2.1 => 2.2.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating paragonie/random_compat (v2.0.2 => v2.0.10) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/class-loader (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating psr/log (1.0.0 => 1.0.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/debug (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/console (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/dependency-injection (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/http-foundation (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/event-dispatcher (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/http-kernel (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/process (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/psr-http-message-bridge (v0.2 => v1.0.0) Downloading: 100%
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/routing (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/serializer (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/translation (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/validator (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating zendframework/zend-diactoros (1.1.3 => 1.3.10) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating zendframework/zend-stdlib (2.7.3 => 3.0.1) Downloading: 100%
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating zendframework/zend-escaper (2.5.1 => 2.5.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating zendframework/zend-feed (2.5.2 => 2.7.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/dom-crawler (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/css-selector (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/browser-kit (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating guzzlehttp/guzzle (6.2.1 => 6.2.3) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating fabpot/goutte (v3.1.2 => v3.2.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating mikey179/vfsstream (v1.6.0 => v1.6.4) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating phpunit/php-token-stream (1.4.8 => 1.4.11) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating symfony/yaml (v2.8.16 => v2.8.18) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/global-state (1.0.0 => 1.1.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/recursion-context (1.0.1 => 1.0.5) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/exporter (1.2.1 => 1.2.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/environment (1.3.2 => 1.3.8) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/diff (1.3.0 => 1.4.1) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating sebastian/comparator (1.2.0 => 1.2.4) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating phpunit/php-timer (1.0.7 => 1.0.9) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating phpunit/php-file-iterator (1.4.1 => 1.4.2) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating phpspec/prophecy (v1.5.0 => v1.7.0) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Updating phpunit/phpunit (4.8.28 => 4.8.35) Loading from cache
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
  - Removing behat/mink (dev-master 12e09bf)
  - Installing behat/mink (dev-master 9ea1ceb) Downloading: 100%
> Drupal\Core\Composer\Composer::vendorTestCodeCleanup
Generating autoload files
> Drupal\Core\Composer\Composer::preAutoloadDump
> Drupal\Core\Composer\Composer::ensureHtaccess
> Drupal\Core\Composer\Composer::configurePhpcs

All looks good. The only non minor version updates are things that Drupal does not depend on directly. There are symfony/psr-http-message-bridge and zend-stdlib

  • alexpott committed e83f9f6 on 8.4.x
    Issue #2862254 by slasher13, jibran, pwolanin: Update non-Symfony...

  • alexpott committed 7007e7b on 8.3.x
    Issue #2862254 by slasher13, jibran, pwolanin: Update non-Symfony...
jibran’s picture

jibran’s picture

alexpott’s picture

I really think we should consider #2843328: Enforce minimum PHP version in composer dependencies given the issues here.

eric_a’s picture

Version: 8.4.x-dev » 8.3.x-dev
eric_a’s picture

Now that composer/installers went above 1.0.24 I believe now is also the time to more or less complete extension installer functionality by also facilitating proper paths for custom modules and themes in 8.3.0 next to contrib paths which we've already added, and quickly up the requirement from ^1.0.21 to ^1.0.24 in #2866109: Composer/installers update to 1.2.0 adding support for installing custom modules and themes to directories other than /vendor.

xjm’s picture

Issue tags: +8.3.0 release notes

Status: Fixed » Closed (fixed)

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