Criteria for evaluating proposed changes

Last updated on
7 March 2024

The following criteria are used by core developers in reviewing and approving proposed changes to Drupal core.

Aim

The changes support and enhance Drupal project aims.

On the correct branch

The proposed changes are current.

New features should be filed against the most recent development version. In keeping with Drupal's approach to backwards compatibility, new features can be backported to stable releases only if they can be added in a non-disruptive way (see the backport criteria).

Bug fixes are applied to newer versions first, and then may be backported to currently supported releases.

When submitting patches, it's best to write your patch for the appropriate branch. There may have been significant changes since the last release, so developing for the latest version means that your patch will be easiest to apply and merge in, and thus more likely to be used.

Risk

The proposed change doesn't introduce any significant issues or risks. Specifically, issues that have been raised in the review process have been satisfactorily addressed.

Coding standards

The changes are well coded. This means coding in accordance with the Drupal coding standards and the coding is intelligent and compact. Elegant solutions will have greater support than cumbersome ones that accomplish the same result.

Demand

There is demonstrated demand and support for the change. Demand is indicated by comments on the drupal.org issues system or comments in forums or the drupal-dev email list.

Usage

The change will be used by a substantial part of the installed Drupal base as opposed to being relevant only to a small subset of Drupal users.

Technical debt

The benefits of the change justify additional code and resources. Every addition to the code base increases the quantity of code that must be actively maintained, e.g., updated to reflect new design changes or documentation approaches. Also, added code increases the overall Drupal footprint through added procedure calls or database queries. Benefits of a change must outweigh these costs.

Help improve this page

Page status: No known problems

You can: