Problem/Motivation

Drupal 12 is at 12.0.0-beta2. It needs PHP 8.5 and Symfony 8.1. vale 1.0.0 should support it alongside 10.3 and 11.

On Drupal 12:

  • the content report is missing. Drupal 12 no longer loads *.views.inc files, so hook_views_data() in vale.views.inc never runs. Views does not learn the report table, and core skips installing the report view without any message.
  • validating vale's configuration fails, because Drupal 12 rejects the list-style options of the Choice constraints in vale.schema.yml.
  • vale.info.yml does not allow ^12.

Saving, JSON:API, Drush, workspaces and the check endpoint already work on Drupal 12.

Steps to reproduce

  1. Install Drupal 12.0.0-beta2 on PHP 8.5 and enable Views and vale, with ^12 added to vale.info.yml.
  2. Visit /admin/reports/vale. It is not found, and Views::getView('vale_findings') returns NULL.

Proposed resolution

  • Move the Views data into a hook class with #[Hook('views_data')], and keep a #[LegacyHook] function for Drupal 10.
  • Write the Choice constraints with the keyed choices: form.
  • Allow ^12 in vale.info.yml, and list Drupal 12 in the README.
  • Test Drupal 12 in Drupal.org CI on PHP 8.5 through the next major jobs. Paragraphs and Entity Reference Revisions do not declare Drupal 12 support yet. Only the tests use them, so CI installs them leniently.

Remaining tasks

  • Review and merge.
  • Follow-up, after 1.0.0: replace unset($transaction) with commitOrRelease(), which is deprecated in 11.5 and removed in 13. Move the Drush commands to Symfony Console commands before Drush 15.

Comments

deciphered created an issue. See original summary.

deciphered’s picture

Status: Active » 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.

Status: Fixed » Closed (fixed)

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