Problem/Motivation

The module currently declares core_version_requirement: ^9.3 || ^10, so it cannot be installed on Drupal 11. Drupal 10 reaches end-of-life on 9 December 2026 — the same day Drupal 12.0.0 is released — so Contribute needs a release that supports Drupal 11 today and is already clean for Drupal 12.

This is the tracking (meta) issue for that work on a new 2.0.x branch (^10.3 || ^11). It supersedes the stale automated Drupal 10 patches (#3411691: Automated Drupal 10 compatibility fixes, #3286765: Automated Drupal 10 compatibility fixes) and resolves "No supported release" (#3418296: No supported release).

Proposed resolution

Create a 2.0.x branch supporting ^10.3 || ^11 and address the following:

  • Bump core_version_requirement and composer.json to ^10.3 || ^11, dropping Drupal 9 (EOL).
  • Add TypedConfigManagerInterface to the ConfigFormBase constructor, required since Drupal 10.2 / 11.
  • Convert the @Block annotation to a #[Block] PHP attribute (Drupal 12 prep — annotations are being removed).
  • Code-quality fixes: correct the hook_install() docblock, fix the case 'user'; semicolons and the :href_ groups placeholder space in ContributeManager.
  • Convert README.txt to README.md (closes #3320697: Replace README.txt with README.md, currently RTBC).
  • Add .gitlab-ci.yml with next-major (Drupal 11) testing enabled.
  • Fix the drupal.org integration: the autocomplete controller and the functional test use dead Drupal 7-era drupal.org endpoints. Rework them against current APIs and re-green the tests on Drupal 11.
  • Tag 2.0.0-beta1.

Remaining tasks

Comments

joshua1234511 created an issue. See original summary.

  • 941964a7 committed on 2.0.x
    Issue #3612839 by joshua1234511: Fix CI failures (phpcs/phpstan/...
joshua1234511’s picture

Assigned: joshua1234511 » Unassigned
Status: Active » Needs review

The Drupal 11 readiness work is complete on the 2.0.x branch and the pipeline is green.

Summary of what landed:

  • Bumped core_version_requirement / composer.json to ^10.3 || ^11 (Drupal 9 dropped, EOL).
  • Added TypedConfigManagerInterface to the ConfigFormBase constructor (required since Drupal 10.2 / 11).
  • Converted the @Block annotation to a #[Block] PHP attribute (Drupal 12 prep).
  • Fixed the Symfony 7.4 Request::get() deprecation, removed dead code (getPerson()/getPeople()), and cleaned up minor bugs.
  • Removed the organization autocomplete: Drupal.org no longer exposes a partial-match endpoint for organizations, so the field is now a plain text field validated on submit. The user autocomplete still works.
  • Added .gitlab-ci.yml, converted README.txt and CHANGELOG.txt to Markdown, removed the stale RELEASE-NOTES.md, and made CSpell/PHPStan/Stylelint all pass.
  • Folds in the RTBC README.md conversion from #3320697: Replace README.txt with README.md.

I verified the module end to end on a local Drupal 11.3 site: the status report section and the Community Information block both render with live Drupal.org data, and the settings form saves correctly.

I don't have release permissions on this project. Could a maintainer (@adriancid / @jrockowitz) please create a release from 2.0.x? This also resolves "No supported release" (#3418296: No supported release).

Suggested approach:

  • Publish the 2.0.x-dev branch release now, so people can test on Drupal 11.
  • Once it has soaked, tag 2.0.0-beta1 as the first adoptable pre-release, then promote to 2.0.0 when ready.

Happy to help with anything needed to get the release out.

joshua1234511’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

joshua1234511’s picture

Version: 8.x-5.0-beta3 » 6.0.x-dev
joshua1234511’s picture

Status: Fixed » Closed (fixed)