Problem/Motivation

The current instructions for updating core can result in broken sites.

3. Remove the 'core' and 'vendor' directories. Also remove all of the files
in the top-level directory, except any that you added manually.

If you made modifications to files like .htaccess, composer.json, or
robots.txt you will need to re-apply them from your backup, after the new
files are in place.

5. Re-apply any modifications to files such as .htaccess, composer.json, or
robots.txt.

If you've done the following your site will be broken:

  1. Install Drupal from git or the tarball
  2. Get a module like AMP or Address that uses a library
  3. Follow the instructions to do composer require from root
  4. Follow the core UPDATE.txt instructions

If you re-apply the changes to composer.json by hand then vendor won't be magically fixed until you've run composer install. If you maintained all the non core provided directories in vendor this won't work either because the autoloader in vendor/composer will not know how to get to the non core dependencies.

Proposed resolution

I'm not sure what the real instructions should be. Here are some thoughts:

  1. We need to ensure hook_requirements detects missing composer dependencies and is fired before updating (drush needs a fix for this https://github.com/drush-ops/drush/pull/2708 and not all modules do it correctly #2867687: We should be checking if the lullabot/amp is available during update.php too) See: #2494073: Prevent modules which have unmet Composer dependencies from being installed
  2. We should be telling people to do "composer require dependency" again this ensures that the latest version and any dependency conflicts etc are detected
  3. What about other composer.json customisations?
  4. We should tell people if drupal/core is in the require section of their project (ie. they have a composer managed project) to just do composer update drupal/core --with-dependencies

Remaining tasks

User interface changes

API changes

Data model changes

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

alexpott created an issue. See original summary.

cilefen’s picture

Issue tags: +Composer
alexpott’s picture

Status: Active » Needs review
FileSize
3.39 KB

Some work in progress.

Status: Needs review » Needs work

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

Mile23’s picture

Added #2494073: Prevent modules which have unmet Composer dependencies from being installed to IS.

Also, if you say composer update you'd rightly expect the listed dependencies to be updated. But they won't be, because composer-installer puts Drupal-flavored stuff (including their composer.json files) all over the file system beyond where composer expects it to be. That's fine for initially building a codebase based on an existing composer.json file, but breaks composer when its time to update dependencies. That's why this exists: https://github.com/paul-m/drupal-merge-plugin

Basically the reason its hard to document is because it's broken.

Here's what happens when you follow these instructions on a new installation of Drupal 8.2.x (after running composer install):

  1. +++ b/core/UPDATE.txt
    @@ -64,7 +64,21 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +3. Determine if your project is composer managed project. You can do this by
    +   running "composer info drupal/core" from the command line. If this is
    
    $ composer info drupal/core
                                     
      [InvalidArgumentException]     
      Package drupal/core not found  
    
  2. +++ b/core/UPDATE.txt
    @@ -64,7 +64,21 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   the command line in the root directory and skip to step 7. Replace X and Y
    

    X and Y where?

  3. +++ b/core/UPDATE.txt
    @@ -64,7 +64,21 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +     composer update drupal/core --with-dependencies
    
    $ composer update drupal/core --with-dependencies
    Package "drupal/core" listed for update is not installed. Ignoring.
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    [etc]
    
kylebrowning’s picture

I would like to point out that while its not an official Drupal project by any means, BLT handles this for you.

alexpott’s picture

Status: Needs work » Needs review
FileSize
623 bytes
3.31 KB

@Mile23
1. Precisely - you don't have a composer managed project. You have a git managed project at the point. You did not object drupal/core via composer.
2. That was left in by mistake
3. See point 1.

These instructions will work if you have a project created using composer by following the instructions on https://www.drupal.org/docs/develop/using-composer/using-composer-with-d... and go the Drupal project root.

@Mile23 by

because composer-installer puts Drupal-flavored stuff (including their composer.json files) all over the file system

I think you don't mean composer-installer - I think you are talking about https://www.drupal.org/project/composer_manager which as the project page says is:

The Drupal 8 version of this module is deprecated and no longer needed, due to improvements in Drupal 8.1. Use Composer directly to get the needed modules, which will also download their required libraries.

anavarre’s picture

  1. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +3. Determine if your project is composer managed project. You can do this by
    

    How about "Determine if your project is managed by Composer."?

  2. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   successful, you have a composer managed project. If you don't have composer
    

    composer managed or composer-managed?

  3. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   successful, you have a composer managed project. If you don't have composer
    

    Seems Composer takes a capital 'C' when we're talking about the project rather than the binary (e.g. page title/footer on getcomposer.org)

    Also, should we say composer-managed instead? If yes, would the capital 'C' not apply (since in this instance it could be because we're referring to the binary)

  4. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   it will be present in the "replace" section).
    

    I'm not sure about that. You could have "drupal/core" added under the "require" section only, e.g. https://github.com/anavarre/drucker/blob/master/orchestration/files/comp...

    So perhaps it's either/or?

  5. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   If the project is not managed by composer skip to step 4.
    

    Capital 'C'?

  6. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   If the project is a composer managed project run the following command from
    

    Perhaps "If the project is managed by Composer"

  7. +++ b/core/UPDATE.txt
    @@ -64,7 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +     composer update drupal/core --with-dependencies
    

    Since it's a new line, should we add a '$' for the command prompt?

  8. +++ b/core/UPDATE.txt
    @@ -113,10 +126,15 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +6. Re-apply any modifications to files such as .htaccess or robots.txt.
    

    For composer-managed projects, should we mention drupal-scaffold's 'excludes' directive to prevent people from having to remember that .htaccess or robots.txt can be ovewritten?

  9. +++ b/core/UPDATE.txt
    @@ -113,10 +126,15 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +     composer require drupal/address
    

    Same as above, should we add '$' here?

Mile23’s picture

Status: Needs review » Needs work

I think you don't mean composer-installer - I think you are talking about https://www.drupal.org/project/composer_manager which as the project page says is:....

No, I'm talking about the use case documented here: https://www.drupal.org/node/2822349

This is actually the main use case you'd want if you've got a codebase and want to start managing it with composer, as you might if you're using pantheon or whatever and you ended up needing drupal/address. Combine its solution with the subtree split of core, and we're not worried about how to document this any more, because it's reasonable.

Setting to needs work because of the review in #8

alexpott’s picture

@Mile23 well https://www.drupal.org/docs/develop/using-composer/managing-dependencies... needs an update with information from https://www.drupal.org/docs/develop/using-composer/using-composer-with-d...

If the steps on https://www.drupal.org/docs/develop/using-composer/managing-dependencies... are following you are not managing you drupal/core dependency with composer and the new advice in step 6 is directly relevant to you:

+++ b/core/UPDATE.txt
@@ -113,10 +126,15 @@ following the instructions in the INTRODUCTION section at the top of this file:
+   If you have changes to composer.json it is recommended that you re-install
+   the dependencies instead of applying the changes by hand. For example, to
+   reinstall the Address module and its dependencies run:
+
+     composer require drupal/address
alexpott’s picture

Status: Needs work » Needs review
FileSize
1.51 KB
3.35 KB

Thanks review @anavarre.

1. Fixed
2. I've made this consistent to "project managed by Composer"
3. Capitalised it everywhere
4. I've removed this. "drupal/core" is ALWAYS present in the replace section. But if it is present in the require section you have a project where drupal is being managed by Composer
5. Fixed
6. Fixed
7. This would not be consistent with the rest of the file
8. Not sure - can you try to write this.
9. See 7.

anavarre’s picture

Status: Needs review » Needs work
  1. +++ b/core/UPDATE.txt
    @@ -64,16 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +3. Determine if your project is managed by Composer. To determine this run the
    

    Could be simplified to "by running the following command:" and would prevent repeating "determine" twice.

  2. +++ b/core/UPDATE.txt
    @@ -64,16 +64,20 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   Composer installed and "drupal/core" is present "require" section of
    

    How about:

    in the "require" section of your composer.json file, then the project is managed by Composer and will require you to install the Composer executable in order to update it.

re: #7 perhaps something like:

Alternatively, when Drupal is managed by Composer https://github.com/drupal-composer/drupal-scaffold can help you with excluding files you'd like to preserve always when updating Drupal.

alexpott’s picture

Status: Needs work » Needs review
FileSize
1.07 KB
3.37 KB

Thanks again @anavarre

Patch addresses 1 and 2.

Looking thinking about drupal-scaffold - I think this is the wrong point for this. We should update the composer docs to mention it maybe but it's a part of https://github.com/drupal-composer/drupal-project so it might be there for the majority of composer managed projects anyway. I think it just muddies the water here.

anavarre’s picture

Status: Needs review » Reviewed & tested by the community

We should update the composer docs to mention it

It's mentioned at https://www.drupal.org/docs/develop/using-composer/using-composer-to-man... so it seems we're good here.

As far as I'm concerned the patch looks good now (assuming it comes back green).

David_Rothstein’s picture

Status: Reviewed & tested by the community » Needs review
+   If the project is managed by Composer, run the following command from the
+   command line in the root directory and skip to step 7.

Step #4 includes things like looking at the release notes and seeing if any manual changes need to be made to settings.php. Why would those be skipped?

+3. Determine if your project is managed by Composer by running the following
+   command:
+
+     composer info drupal/core

This assumes a global installation of composer. But if you follow the basic instructions at https://getcomposer.org you wind up with a local install instead, and the command is php composer.phar info drupal/core. Maybe at least list both of those as alternatives?

It may actually be better to just put something in the Status Report that tells you if your project is managed by Composer (it should be very easy to have code in Drupal that parses composer.json and checks whether "drupal/core" is present in the "require" section or not). Then it would not be necessary to mess with the command line to figure it out. Could be a separate issue.

alexpott’s picture

@David_Rothstein thanks for the review - good points. I've tried to address them all by re-organising the file and replace composer with PATH/TO/composer. I think the new organisation separates the concerns of updating your code - which is different depending on whether you use composer or not and updating the database (which is not different).

alexpott’s picture

Oops included my yarn.lock file....

The last submitted patch, 16: 2867757-16.patch, failed testing.

anavarre’s picture

Even better. I'll leave it up to @David_Rothstein to RTBC, though.

xjm’s picture

Status: Needs review » Needs work
  1. +++ b/core/UPDATE.txt
    @@ -64,7 +64,22 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +3. Determine if your project is managed by Composer by running the following
    +   command (replace /PATH/TO with the appropriate location for your system):
    

    This assumes the user has the ability or knowledge to "run a command", which is not part of the current expectations for users who install from a tarball.

  2. +++ b/core/UPDATE.txt
    @@ -64,7 +64,22 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   If this is successful, your project is managed by Composer. If you don't have
    +   Composer installed and "drupal/core" is present in the "require" section of
    +   your composer.json file, then the project is managed by Composer. You need to
    +   install the Composer executable in order to update it.
    

    This could be misread as telling people who don't have Composer that they need to install it.

alexpott’s picture

Status: Needs work » Needs review
FileSize
3.57 KB
4.86 KB

Thanks for the review @xjm

Re #1 - this is a copy&paste kinda from things that already exist in INSTALL.txt - for example:

   On a typical Unix/Linux command line, use the following commands to download
   and extract:

     wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz
     tar -zxvf drupal-x.y.z.tar.gz

   This creates a new directory drupal-x.y.z/ containing all Drupal files and
   directories. Copy the files into your Drupal installation directory:

     cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation

I've tried to update the language to reflect the existing text.

Patch attached also tries to fix #2. I've also fixed a bug that is more apparent after this change - we tell people to use ftp before changing .htaccess etc...

alexpott’s picture

Issue tags: +Triaged D8 critical

Discussed with @catch, @Cottser, @effulgentsia, and @xjm. We agreed to keep this critical for now. Whilst documentation criticals are rare and contentious the current instructions can result in a broken site. There are many concerns about core's usage of composer and how different types of users are supposed to cope - see #2477789: Use composer to build sites , #2002304: [META] Improve Drupal's use of Composer and #2845379: Provide optional composer integration but don't force users to understand how to use composer

alexpott’s picture

Also there's a big discussion on https://groups.drupal.org/node/516571 about this problem too

David_Rothstein’s picture

I like the new file organization. But:

  1. With the patch applied, the information about looking at the release notes and seeing if any manual changes need to be made to settings.php is still missing from the "UPDATING CODE WITH COMPOSER" section (it's only in "UPDATING CODE WITHOUT COMPOSER") so the issue I raised earlier still needs to be addressed.

    Possibly it would be better to have a separate section about applying manual changes that is after the "updating code" sections, since a lot of the information would be duplicated otherwise.

  2. +   On a typical Unix/Linux command line, this can be determined by running the
    +   following command (replace /PATH/TO with the appropriate location for your
    +   system):
    +
    +     /PATH/TO/composer info drupal/core
    

    I think it should say "replace /PATH/TO/composer with the appropriate location" instead, since as mentioned earier a default basic installation of Composer will actually have the executable named "composer.phar" (not "composer").

  3. +2. Determine if any modifications to files such as .htaccess or robots.txt and
    +   re-apply them.
    

    Missing some words - should be "Determine if there are any modifications" instead?

  4. +   excluding files you'd like to preserve always when updating Drupal.
    

    "always preserve"

Mile23’s picture

Status: Needs review » Needs work

Needs work per #24.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Mile23’s picture

Status: Needs work » Needs review
Issue tags: +Needs documentation
FileSize
6.76 KB
4.22 KB

I ran through the process for non-composer-managed, since that's where the pain seems to be for a lot of people.

I re-ordered a few things and tried to be a little more more hand-holdy.

I noticed that there was no special instruction for extension directories, so I called those out in the copy-over steps.

We still have outstanding: #24.1 and #24.2, but 3 and 4 I got.

There's no good d.o documentation that says: Here's how you install composer enough to deal with these kinds of instructions, such as downloading composer.phar to DRUPAL_ROOT and using it. So we can't link to it.

Also, telling people to say composer require drupal/address really blurs the lines between whether the installation is managed by composer or not.

ressa’s picture

Shouldn't it be mentioned in UPDATE.txt that if your Drupal 8 site doesn't rely on Composer, it is also possible to update with just drush up? See: Update procedure in Drupal 8

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

alexpott’s picture

@ressa I don't think we need to complicate this anymore by mentioning drush. The point is at the moment the current update instructions will break a composer managed site.

Addressed #24.1 by just copying the instructions. I think duplication here is better than more choose-your-own-adventure as the instructions once you've updated your settings.php are not the same.

Addressed #24.2 too.

Also changed the composer update command in light of the fact that we shouldn't be telling people to only update drupal/core as this doesn't always work. For example it did not work for 8.5.0 - see https://github.com/drupal-composer/drupal-project/pull/366.

I think all feedback has now been addressed.

Mile23’s picture

Status: Needs review » Needs work

I noticed some unhappiness with the 8.5.0 update, like this: https://twitter.com/geerlingguy/status/976840449339088897

So I thought I'd review this issue again. :-)

I didn't get to the composer update path, because the non-composer path needs some love, too. I did git checkout 8.4.x and git clean -fdx and installed. Then I followed all the instructions to update from an 8.5.0 tarball.

  1. +++ b/core/UPDATE.txt
    @@ -64,15 +64,69 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   Copy all the files, but do not accidentally overwrite your modules, profiles,
    +   sites, or themes directories.
    

    This is still super awkward. The only way you can 'accidentally' do this is by following the instructions.

    Should say: "Copy all the files except...."

  2. +++ b/core/UPDATE.txt
    @@ -64,15 +64,69 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +   You can find the release notes for your version at
    +   https://www.drupal.org/project/drupal. At bottom of the project page under
    +   "Downloads" use the link for your version of Drupal to view the release
    +   notes. If your version is not listed, use the 'View all releases' link. From
    +   this page you can scroll down or use the filter to find your version and its
    +   release notes.
    

    'Your version' could refer to either your old site or your updated site. Should be: "You can find the release notes for the updated version at..."

    Also, will there be a section in the notes that explicitly says, 'Changes settings.php'? Go to the 8.5.0 page and try to figure out from what's there whether the settings have changed.

  3. +++ b/core/UPDATE.txt
    @@ -87,6 +141,39 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +5. If you did not have access to the command line, use an FTP client to upload
    +   the files to your web root.
    

    "...including the vendor/ directory."

alexpott’s picture

Status: Needs work » Needs review
FileSize
2.05 KB
8.36 KB

Thanks for the review @Mile23. I disagree with with point 1. Depending how you copy will depend on what happens here. I'd leave that allow. You do want people to ensure that they don't wipe out their modules etc when following the instructions here. That's the point.

Wrt to point 2 - fair enough but we should say "your updated version" as this all refers to the "the updated version" in the previous paragraph. Imo this change is not necessary but it does not matter.

3. ah yes but also this advice is necessary for composer updates too. Since they might need to update code. I don't think we should mention FTP as it is not secure.

Notes to reviewers please do not review this patch just in dreditor. The text needs to be reviewed in its entirety.

sk33lz’s picture

I do not think that instructing users to run /PATH/TO/composer update should be the suggested method to update Drupal Core in the UPDATE.txt file. It should be something along the lines of the following to restrict the updates to Drupal Core only:

composer update drupal/core --with-dependencies

Otherwise, you are instructing users to update every module and project defined in their composer.json file, which is probably not what they are looking to do.

alexpott’s picture

@sk33lz unfortunately composer update drupal/core --with-dependencies often leads to people scratching their head because it refuses to update. This happened with 8.5.0 because of a conflicting dependency on something from Symfony.

bkosborne’s picture

There's also now a --with-all-dependencies flag on composer update now, which is likely what people want to be using moving forward.

Berdir’s picture

I don't fully understand the difference between the two options, but that doesn't help. The problem are cross-dependencies of symfony components that are *not* dependencies of drupal/core, most of the time it's symfony/config. It will try to update all others that we depend on but then conflict on that, which it is not trying to update as we don't depend on it (but console or behat do).

What worked for most is this: `composer update drupal/core symfony/* --with-(all-)dependencies`.

Also, the last 10 or so people commenting on #2943546: composer fail to upgrade from 8.4.4 to 8.5.0-alpha1 where people that did not use drupal/core but still tried to update with compoer and it looks like the merge plugin is for example making problems there. This is explained in the patch, wondering if it's clear enough or if we should do something like "If you get error X, then you are likely not using drupal/core, see Y on how to update drupal core without composer"

alexpott’s picture

As we approach another Drupal 8 minor without this being fixed I guess rather than argue about the correct update command we should get something done. Personally I prefer composer update over composer update drupal/core symfony/* --with-all-dependencies because it will work if the project is managed by composer. Where the command the only updates Drupal/core (with symfony) will only probably work. However, I also agree with @sk33lz that people probably don't want to upgrade everything. However that's actually a problem with our ecosystem. In general, I think we should be encouraging projects to keep their entire codebase up-to-date since there will also be important fixes and usages of new APIs in the latest contrib releases too. Therefore I think we should be recommending composer update. But I think we can add the alternate command to at least inform people how to possibly only target core.

Patch also move the composer section first as that's the way we'd rather people manage their code - its more future proof.

steinmb’s picture

Status: Needs review » Reviewed & tested by the community

I think we are RTBC. We have documented composer update as the standard though we also have info. on how to only update core. Let us get it in. It will never be the final draft.

alexpott’s picture

+++ b/core/UPDATE.txt
@@ -110,13 +162,59 @@ following the instructions in the INTRODUCTION section at the top of this file:
+UPLOADING THE CODE
+------------------
+1. If you did update your code in the environment where it is running you need
+   to upload the files to your web root including the vendor/ directory.

This section is not right. Patch attached fixes.

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

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

effulgentsia’s picture

Status: Reviewed & tested by the community » Needs review
+++ b/core/UPDATE.txt
@@ -64,15 +64,51 @@ following the instructions in the INTRODUCTION section at the top of this file:
+   Note, if you want to only update drupal/core the following command will
+   probably work:
+
+     /PATH/TO/composer update drupal/core symfony/* --with-all-dependencies

Are we sure that symfony/* is needed here? #36 explains the initial rationale for that, but are we sure those problems weren't a consequence of https://github.com/composer/composer/issues/4795, which is now fixed with --with-all-dependencies as per https://github.com/composer/composer/issues/6661?

Mile23’s picture

Status: Needs review » Needs work
  1. +++ b/core/UPDATE.txt
    @@ -64,15 +64,51 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +1. On a typical Unix/Linux command line, run the following command from the root
    +   directory (replace /PATH/TO/composer with the appropriate location for your
    +   system):
    +
    +     /PATH/TO/composer update
    

    Maybe say --no-dev, or add a comment that it's a good idea to add --no-dev to production for security reasons.

  2. +++ b/core/UPDATE.txt
    @@ -64,15 +64,51 @@ following the instructions in the INTRODUCTION section at the top of this file:
    +     /PATH/TO/composer update drupal/core symfony/* --with-all-dependencies
    

    Using drupal-project, you can't update only drupal/core. Or you can try and it doesn't do anything.

alexpott’s picture

Re #41 and #42 regardless of these points the current instructions will result in a broken site if your project is using composer. The updated instructions won't. How about we get #39 committed to fix the critical part of this and open follow issues to improve on the documentation to tease out these nuances that are likely to change as the composer initiative swings into gear.

alexpott’s picture

Also found out that https://www.drupal.org/docs/user_guide/en/security-update-core.html is part of the official user guide :(

Mile23’s picture

To my mind, this issue *is* part of the composer initiative.

Given how long that's taken, and how long this issue has taken, I think it's fair to say we need to tell users about --no-dev. I'd write it but then I can't review it.

Regarding --no-dev: https://www.drupal.org/blog/drupal-8-will-no-longer-include-dev-dependen...

Mile23’s picture

Status: Needs work » Reviewed & tested by the community
Issue tags: -Needs documentation

Followup for related changes: #3000374: Improve Composer update workflow in UPDATE.txt

The 'needs documentation' tag isn't really satisfied. In #44, @alexpott points to https://www.drupal.org/docs/user_guide/en/security-update-core.html with a frowny-face, so that could use some love. The fact is that currently Drupal doesn't have a supported Composer update workflow, which is why we have: #2958021: Proposal: Composer Support in Core initiative

That will give us a chance to define a workflow and also to document it. So I'm taking away the needs docs tag for this critical issue.

  • catch committed 5cff356 on 8.7.x
    Issue #2867757 by alexpott, Mile23, anavarre, David_Rothstein, cilefen,...

  • catch committed fd751a2 on 8.6.x
    Issue #2867757 by alexpott, Mile23, anavarre, David_Rothstein, cilefen,...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Agreed with getting this in as an interim improvement. We can open follow-ups to refine further.

Committed/pushed to 8.7.x and cherry-picked to 8.6.x. Thanks!

Mile23’s picture

Status: Fixed » Closed (fixed)

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

cilefen’s picture