Drupal 12 Release Team Plans to Bundle Disruptive Code Changes Ahead of RC1

One Planned Disruption Window for Stricter Checks and Core Code Cleanup
Discover Drupal graphic titled "When Code Cleanup Meets the Release Clock" with intersecting blue geometric lines. Explores stricter PHP checks and extensive testing changes ahead of Drupal 12 release restrictions.

Release managers have set November 2026 targets for three proposed Drupal core code-maintenance changes. The revised timing appears in the Drupal 12 and 11.5 beta-targets issue and related issue discussions updated on 12 October 2026.

The proposed coordination is intended to limit interruptions to other contributors' work. Changes affecting code-analysis rules and large numbers of existing files can create conflicts with open merge requests. Lee Rowlands, a Drupal core framework manager, explained the reasoning in a 10 October 2026 comment on the PHPUnit annotation cleanup issue. He said the preference was to commit three changes together to have "one disruptive period rather than three."

The three tasks cover stricter PHPStan checks, the removal of outdated PHPUnit test annotations and wider adoption of PHP 8 constructor property promotion. Drupal core release manager Jess Myrbo, known as xjm on Drupal.org, updated the target titles on 12 October 2026. The PHPStan proposal moved from mid-October to November, the constructor promotion proposal moved from October to November, and the annotation cleanup gained a November target.

PHPStan Level 3: Stricter Static Analysis

The most substantial tooling change concerns raising PHPStan's rule level to 3. PHPStan analyses PHP code for potential errors without executing it. According to its official documentation, level 3 adds checks on return types and values assigned to properties. Drupal's proposal also includes a development dependency to improve how PHPStan interprets mocked objects used in tests.

The change would introduce stricter checks while allowing existing findings to remain in an error baseline. Drupal core release manager Victoria Spagnolo, known as quietone, questioned that trade-off on 1 October 2026. She reported that the proposed baseline would increase from approximately 1.7 MB to 3.3 MB and asked what size the project should be willing to accept. A baseline allows known errors to be excluded from blocking analysis runs without requiring them all to be fixed immediately.

Removing Legacy PHPUnit Coverage Annotations

The PHPUnit cleanup would remove method-level @legacy-covers annotations that remained after test metadata was converted to attributes. It would also prevent new instances from being added. The issue is marked reviewed and tested by the community, although the changes have not yet been committed. Lee previously noted that the number of files affected could make the commit disruptive.

Constructor Property Promotion: Reducing Repetitive Code

The third proposal, PHP 8 constructor property promotion, would reduce repetitive code by combining property declarations with constructor parameters. Its issue remains marked Needs work. The release-target tracker specifies that this change should follow the PHPStan level-3 upgrade.

The tracker also references a separate cleanup of unnecessary cspell:ignore entries through issue #3560682. That task is listed alongside the three proposals but was not included in Lee's explanation of the coordinated commit plan.

Edward Wu, a provisional Drupal core release manager known as godotislate, said in a 12 October 2026 issue comment that he had discussed completing the three changes with release manager Dave Long near the end of beta or potentially during the release-candidate phase. The updated tracking issue now expresses a preference for committing its targets immediately before RC1. Drupal's release policy places tighter restrictions on changes during the release-candidate phase, when the guidelines follow those for patch releases.

The published Drupal core release schedule remains unchanged. Drupal 12.0.0-rc1 and Drupal 11.5.0-rc1 are scheduled for the week of 9 November 2026, followed by stable releases in the week of 7 December 2026. The revised development targets do not constitute an announcement of a release delay.

Disclosure: This content is produced with the assistance of AI.

Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please reach out to us at #thedroptimes channel on Drupal Slack and we will try to address the issue as best we can.

Upcoming Events