localgov icon indicating copy to clipboard operation
localgov copied to clipboard

[Meta] PHP 8.4 support

Open millnut opened this issue 8 months ago • 4 comments

This issue will help us track LocalGov Drupal compatibility with PHP 8.4.

Currently the core project https://github.com/localgovdrupal/localgov_project and its included localgov_* modules support PHP 8.4 (with the upcoming D11 release), however a small number of contrib modules do not support PHP 8.4 so we cannot yet state full compatibility.

These affected modules are;

  • [x] drupal/address

    • We use 2.0, PHP 8.4 support in the 2.1.x branch, waiting for a new release see https://www.drupal.org/project/address/issues/3509308
  • [x] drupal/entity_hierarchy

    • We use 3.3, there are no tickets/fixes for this release. Only the 5.0.0-alpha6 has support for PHP 8.4, however this release has some big MySQL/MariaDB requirements

The 5.x branch makes use of Common Table Expressions (CTEs) and requires Drupal 10 or higher. IF you use MySQL you will need 8.0 or greater. The minimum versions of PostgreSQL and SQLite already support CTEs. It is currently in alpha version.

I've created an issue ticket with MR, so hopefully this can be merged into 3.x https://www.drupal.org/project/entity_hierarchy/issues/3511660

  • [ ] drupal/facets

    • We use 2.0, we will need to upgrade to 3.0 for PHP 8.4 compatibility fixes
  • [ ] drupal/layout_paragraphs

    • PHP 8.4 support in the 2.1.x branch, waiting for a new release see https://www.drupal.org/project/layout_paragraphs/issues/3492372
  • [x] drupal/metatag

    • PHP 8.4 has a fix, waiting to be merged and a new release tagged see https://www.drupal.org/project/metatag/issues/3490807
  • [x] drupal/pathauto

    • PHP 8.4 has a fix, waiting to be merged and a new release tagged see https://www.drupal.org/project/pathauto/issues/3489108
  • [x] drupal/symfony_mailer

    • We use 1.4, PHP 8.4 support has been added to 1.6.0-beta1
  • [ ] drupal/scheduled_transitions

    • PHP 8.4 support fixed in 2.8 releases and for 2.7.x it's only in the dev version, not in a tagged release yet
  • [ ] drupal/geolcation

    • PHP 8.4 support has a patch for 3.x branch https://www.drupal.org/project/geolocation/issues/3546951

millnut avatar Mar 07 '25 10:03 millnut

@finnlewis @stephen-cox @ekes latest on the PHP 8.4 contrib based on the project failing tests

millnut avatar Mar 07 '25 10:03 millnut

@tonypaulbarker this is an issue tracking PHP 8.4 failures

stephen-cox avatar Jun 24 '25 11:06 stephen-cox

Just reviewing this. Last modules without full PHP 8.4:

  • drupal/layout_paragraphs is fixed in the dev branch, but there's not been a release yet.
  • drupal/pathauto is also fixed in dev, but no release yet

stephen-cox avatar Sep 16 '25 11:09 stephen-cox

@stephen-cox I thought I had updated to also add scheduled_transitions to the list as well, only fixed in 2.8 releases and for 2.7.x it's only in the dev version, not in a tagged release yet :(

25) Drupal\Tests\localgov_workflows\Functional\ApprovalsDashboardTest::testApprovalsDashboardView
Exception: Deprecated function: Drupal\scheduled_transitions\Plugin\Menu\LocalTask\ScheduledTransitionsLocalTask::getTitle(): Implicitly marking parameter $request as nullable is deprecated, the explicit nullable type must be used instead
include()() (Line: 576)

millnut avatar Sep 16 '25 11:09 millnut