Drupal 8 - End of Life
Drupal 8 officially went end-of-life in November 2021 (https://www.drupal.org/psa-2021-11-30). The focus of this issue is to gauge sentiment about (and identify tasks for) ending CiviCRM's Drupal 8.x support.
(Note: This issue has no impact on CiviCRM's support for Drupal 7 or Drupal 9 -- both continue to be supported by drupal.org
and civicrm.org
.)
Rationale
@DaveD made the case on Github as follows
- There's the 3 reasons already mentioned:
- Has been EOL for 6 months
- No security updates.
- And there have been recent drupal security fixes which would have helped prompt people to move off 8 if they were still on it.
- Civi works equally as well on 9 as on 8
- There's support for dropping it in chat, with nobody dissenting: https://chat.civicrm.org/civicrm/pl/qh6t761dt7gsdyp78m6stbmpwo
- Drupal 8 to 9 is very different than 6 to 7. Drupal 9 is identical to drupal 8.9 except for some deprecated functions. It's not much different than if they had called it 8.10.
- There were many blog posts about this on the internet, about how easy it would be to upgrade compared to other jumps.
- There was plenty of awareness ahead of time in the drupal world that drupal 8 would be unsupported.
- From May 2021 to November 2021, the only updates for drupal 8.9.x were security updates, with repeated notices that 8 was becoming EOL.
- There was a module available that was pretty good about pointing out what if anything you needed to change.
- There is no CIVICRM_UF=Drupal9, because it's not needed.
I would add two more items in favor of dropping D8:
- Drupal 10 Support: Preserving D8 may make it harder to add D10. While most changes can be bridged to support 2 versions major (eg D8+D9 or D9+D10), it gets more complicated with 3 major versions (D8+D9+D10). We've encountered at least one issue (involving changes in Symfony Dispatcher / PSR-14) that gets prickly with 3 major versions.
-
Pingbacks: There are only ~30 Civi deployments still reporting Drupal 8.x. They represent <1% of Civi-Drupal deployments.
- Note: This is based on directly examining pingbacks from 2022 -- and only counting sites with multiple pingbacks (e.g. to exclude most ephemeral test-sites). The data on
stats.civicrm.org
is confusing in this regard, because Drupal 8.x and Drupal 9.x are lumped together with UFDrupal8
. My comments are based on examining actual version-numbers and not just UF name.
- Note: This is based on directly examining pingbacks from 2022 -- and only counting sites with multiple pingbacks (e.g. to exclude most ephemeral test-sites). The data on
Tasks
There are a few tasks to do as follow-up:
- Update installation guide
- Remove Drupal 8.x from test infra
Suggested Emojis
Please do register a quick reaction on D8 EOL. Some suggested emojis:
-
🚀 - Remove Drupal 8 compatibility at the soonest convenience. -
🐢 - Remove Drupal 8 compatibility... just not quite yet. (Keep it until 5.51 ESR). -
🛡 - Protect Drupal 8 compatibility for a longer period of time. -
‼ - Extra importance modifier. (Add this if the sentiment on the first emoji is strong - eg if you will be significantly impacted by the issue.)
(Flag whichever is the soonest that you think is appropriate/acceptable.)
(Example: If you maintain a site that's been held back on D8 because of some complicated issue and cannot resolve it in the near future, then you could say "
(You may see totten
on all emojis for a while, since I put them in as placeholders.)