Today the IMCE module showed an available update for version 8.x-1.8. The release notes for this version indicate this version as "The last release in 8.x-1.x branch. You can safely upgrade to 8.x-2.x which is Drupal9 compatible". So I can use the /admin/reports/updates/update to update to this version, which I did.
Now the module shows "Also available: 8.x-2.2 (2020-Apr-12)", and indicates "Requires Drupal core: 8.8.5". See the attached screen shot.
I am running Drupal 8.8.5. So, this version is compatible with my system. However, the system GUI (/admin/reports/updates/update) does not allow me to update to this new branch/version. I have to manually install it via composer. This isn't a huge deal, but if you are hosting your site on a service like Pantheon, you need to run composer on your local copy of the site, then use SFTP to move the updated files into place manually. Again, this isn't a massive ordeal, but there doesn't seem to be anything obvious to me that prevents Drupal from recognizing that this update is compatible and therefor allowing it to be installed.
If I am missing something, please let me know. Otherwise, I think Drupal should be enhanced to allow updates to all available compatible versions through the update GUI, even when it means changing branches.
| Comment | File | Size | Author |
|---|---|---|---|
| Screenshot from 2020-04-13 10-58-29.png | 19.14 KB | xem8vfdh |
Comments
Comment #2
dwwThanks for the request.
a) Since this is a new feature, the earliest possible branch of core where this change would be allowed is now the 9.1.x branch (since 8.9.x and 9.0.x are both in beta, and therefore only allow bug fixes and changes to make it more stable / releasable).
b) If you're managing your code via composer, you should definitely not be using the core Update manager GUI, you should use composer. A mix of both composer and GUI is a path to confusion, errors and eventually ruin. ;)
c) (off topic): Services like Pantheon expect all your code to be in the Git repo associated with your site. Even if you're not using composer, it'd be wise to update your code on a local copy (either via drush or this UI), and then commit/push those updates into Git for proper deployment via Pantheon (not manually transfer anything via SFTP).
d) Currently, the GUI you mention at /admin/reports/updates/update doesn't have the complication of selecting which version to update to. It only / always uses the "Recommended" release from /admin/reports/updates. We'd have to massively redesign the whole GUI to support this feature. Off the top of my head, I'd imagine we'd have to ditch the checkboxes, add a column with a drop-down select box for each project, with options like '- No update -', 'Recommended: 8.x-1.5', 'Also available: 8.x-2.2', or something. The select-all would have to go away. Or something. Needs brainstorming / design.
e) This is related to #2990476: If the site is on an insecure version of an old minor and there is a secure version of that old minor available, the update status report should link that release (although it's a bit confusing from the title of that issue). The available updates report needs some help in the new era where extensions can be compatible with multiple branches/versions of core, and where extensions are using semantic versioning (semver). There's talk of expanding "Also available" to include multiple branches in some cases. See the other issue for details.
Cheers,
-Derek
Comment #3
xem8vfdh commentedI am not
I don't know about your C suggestion. I've been doing just fine with the GUI for years. When I encounter the problem this issue is about, I install on a local copy via composer, move the module directory into the proper place, push changes to pantheon dev, clear cache, and its all good. Never had a problem, and I'm reluctant to change whats been working just for the fun of it.
But thanks for the info, I realize this would be a big change, but it would be useful, I think.
Comment #4
dwwRe: C:
That's what I was talking about: Get the right code locally (by whatever means), commit to Git, push to Pantheon dev. Cool.
Meanwhile, yeah, it'll be a while before core changes anything about this, but thanks for the suggestion. Feel free to contribute if you can help move this along: mockups of the new UI, a patch that implements it, etc. Let me know if you have questions and need help working on it.
Thanks again,
-Derek
Comment #5
xem8vfdh commentedThanks again Derek, I'll dig into it myself if I can find the time.
Comment #6
dwwI just re-discovered #519470: Distinguish between released versions of the same project when selecting projects to upgrade with Update manager which I'm marking as related to this.
Comment #13
dwwDecided to deprecate all the plumbing and remove the UI in 11.2.x.
See #3491731: [META] Remove the ability to update modules and themes via authorize.php
Closing this as outdated.