fix: #3598572 Add Drupal 12 compatibility
Summary
Adds Drupal 12 compatibility to Geofield 10.3.x while retaining Drupal 10.3 and 11 support. Includes hook/service and PHPUnit attribute migrations, the Views field-data API change, plugin-manager discovery fixes, and the GeoConstraintValidator signature update.
Reviewed bot MR !47 (closed) at b1dd41cfbb7f6bf2cc9945e1f329560d694f70dd (run 12-978641, 3 October 2026 UTC). Its functional changes are already covered. The latest array-formatting change introduces PHPCS errors, so the existing formatting is retained. Follow-up commit a9cfa07 adds the missing setUp() doc comment.
Testing
- Pipeline 988875, at
a9cfa07: all 41 tests passed on Drupal 11.4.8 / PHP 8.3.35. Composer, Composer lint, cspell, ESLint and stylelint passed. Drupal 12 and previous-version PHPUnit jobs were skipped. - Fresh isolated runs of the same follow-up completed all 41 tests without failures, errors or skips on Drupal 11.4.8 / PHP 8.3.33 and Drupal 12.0-dev / PHP 8.5.9. They used standalone CI dependency locks and no additional code patches. Both exited 1 with strict deprecation checking; notices remain unsuppressed. The Drupal 12 core commit tested was
ec60d81b3b75305f1ac720d6b9f43aa338d7b674. - Targeted PHPCS, PHP syntax and diff checks pass. Broader findings remain: two PHPCS errors in unchanged widgets and 45 PHPStan findings in the current Drupal 11 job. The earlier Drupal 12 PHPStan job reported 47 findings. The corrected hook and plugin managers are not flagged.
- Drupal 10.3 compatibility was reviewed against core APIs; no fresh Drupal 10 suite was run.
Earlier Drupal 12 manual testing covered geometry validation and a Views proximity filter. See issue comment #10 for earlier CI results. The temporary CORE_STABLE override remains removed.
Maintainer review is needed before acceptance.
AI-Generated: Yes (OpenAI Codex assisted with analysis, code changes, bot review, testing and this description.)
Closes #3598572