Problem/Motivation
Ran upgrade status on a Drupal 10 site and got these:
CUSTOM PROJECTS
--------------------------------------------------------------------------------
Quant
Scanned on Fri, 09/22/2023 - 18:40.
11 warnings found.
web/modules/custom/quantcdn/modules/quant_purger/src/StackMiddleware/UrlRegistra
r.php:
┌──────────┬──────┬─────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼─────────────────────────────────────────────────────────────┤
│ Check │ 60 │ Fetching deprecated class constant MASTER_REQUEST of class │
│ manually │ │ Drupal\quant_purger\StackMiddleware\UrlRegistrar: since │
│ │ │ symfony/http-kernel 5.3, use MAIN_REQUEST instead. To ease │
│ │ │ the migration, this constant won't be removed until Symfony │
│ │ │ 7.0. │
│ │ │ │
└──────────┴──────┴─────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/quant.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_sitemap/quant_sitemap.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_search/quant_search.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_cron/quant_cron.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_tome/quant_tome.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_purger/quant_purger.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_webform/quant_webform.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
web/modules/custom/quantcdn/modules/quant_api/quant_api.info.yml:
┌──────────┬──────┬────────────────────────────────────────────────────────────┐
│ STATUS │ LINE │ MESSAGE │
├──────────┼──────┼────────────────────────────────────────────────────────────┤
│ Check │ 0 │ Value of core_version_requirement: ^9.3 || ^10 is not │
│ manually │ │ compatible with the next major version of Drupal core. See │
│ │ │ https://drupal.org/node/3070687. │
│ │ │ │
└──────────┴──────┴────────────────────────────────────────────────────────────┘
Steps to reproduce
Install quant modules and upgrade_status on a Drupal 10 site and look at the report.
Proposed resolution
Note that MASTER_REQUEST was changed to MAIN_REQUEST in Drupal 10.0.0:
https://www.drupal.org/node/3236639
Since we already use reflection to pull in different classes then we can update the D10 version of the class to use MAIN_REQUEST.
For the info files, we can use ^9.3 || ^10 || ^11 or maybe >=9.3
Remaining tasks
- Update code
- Review and test
- Commit :)
User interface changes
API changes
Data model changes
Comments
Comment #2
sarwan_verma commentedHi @Kristen Pol,
I have fixed this Drupal 11 compatibility issues and also attached patch ,
please review and verify.
Comment #3
sarwan_verma commentedComment #4
kristen polI'm taking a look.
Comment #5
kristen polWork is happening here:
https://github.com/quantcdn/drupal/compare/8.x-1.x...feature/d11-compati...
Note that I had to add an empty
validateFormmethod to handle a fatal error when saving thequant_apisettings form.I tested it with Drupal 10.1 and 11 dev and the Umami profile and it worked as expected.
Postponing until this gets merged (which I merged with these changes as it's required for Quant to work with aggregation):
#3390296: Handle Drupal 10.1 aggregation issues
Comment #6
kristen polD10 fixes have been merged so reopening this.
Comment #8
kristen polRan into an issue with a webp image so moving this back to postponed for now.
https://github.com/quantcdn/drupal/pull/191
Comment #10
kristen polThis has been moved forward.
Comment #11
kristen polWe shouldn't merge this yet because some of our dependencies are D11 compatible yet. Moving this to postponed for now.
https://www.drupal.org/project/purge - not compatible as of 19 Jan 2024
https://www.drupal.org/project/simple_sitemap - not compatible as of 19 Jan 2024
https://www.drupal.org/project/token - not compatible as of 19 Jan 2024
https://www.drupal.org/project/tome - not compatible as of 19 Jan 2024
https://www.drupal.org/project/webform - not compatible as of 19 Jan 2024
Comment #12
kristen polHere's an update:
https://www.drupal.org/project/purge - compatible!
https://www.drupal.org/project/simple_sitemap - compatible!
https://www.drupal.org/project/token - compatible!
https://www.drupal.org/project/webform - (dev is) compatible as of 17 Oct 2024:
https://git.drupalcode.org/project/webform/-/blob/6.3.x/webform.info.yml...
Only one left... I pinged the #d11readiness channel to see if anyone wants to take a stab at remaining items:
https://www.drupal.org/project/tome - not compatible as of 18 Oct 2024 #3435061: Automated Drupal 11 compatibility fixes for tome
Comment #13
kristen polThe Tome maintainer isn't going to use the automated issue and created a new one:
#3484018: Non-automated Drupal 11 compatibility fixes for tome
We may just move foward with creating our D11 version and not wait for Tome though since Tome is not required and not typically used for Quant projects.
Comment #14
kristen polLooking at this and #3434065: Automated Drupal 11 compatibility fixes for quantcdn
Comment #15
kristen polNote that Tome has a compatible version now.
Comment #16
kristen polThis has been merged into the 2.x branch and an alpha release has been created.