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

Kristen Pol created an issue. See original summary.

sarwan_verma’s picture

Hi @Kristen Pol,
I have fixed this Drupal 11 compatibility issues and also attached patch ,
please review and verify.

sarwan_verma’s picture

Status: Active » Needs review
kristen pol’s picture

Assigned: Unassigned » kristen pol

I'm taking a look.

kristen pol’s picture

Status: Needs review » Postponed

Work is happening here:

https://github.com/quantcdn/drupal/compare/8.x-1.x...feature/d11-compati...

Note that I had to add an empty validateForm method to handle a fatal error when saving the quant_api settings 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

kristen pol’s picture

Status: Postponed » Needs review

D10 fixes have been merged so reopening this.

kristen pol’s picture

Assigned: kristen pol » Unassigned
Status: Needs review » Postponed

Ran into an issue with a webp image so moving this back to postponed for now.

https://github.com/quantcdn/drupal/pull/191

kristen pol’s picture

Assigned: Unassigned » kristen pol
Status: Postponed » Needs review

This has been moved forward.

kristen pol’s picture

Assigned: kristen pol » Unassigned
Status: Needs review » Postponed

We 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

kristen pol’s picture

Status: Postponed » Needs review

Here'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

kristen pol’s picture

The 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.

kristen pol’s picture

kristen pol’s picture

Note that Tome has a compatible version now.

kristen pol’s picture

Version: 1.x-dev » 2.x-dev
Assigned: kristen pol » Unassigned
Status: Needs review » Fixed

This has been merged into the 2.x branch and an alpha release has been created.

Status: Fixed » Closed (fixed)

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