Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
By larowlan on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
9.3.x
Introduced in version:
9.3.0
Description:
Info files can now convey the stability of a module using the new lifecycle
and lifecycle_link
keys.
Supported values for lifecycle
are as follows:
- experimental
- Something new and not finalized. Warnings if you try to install them, but it works.
- stable
- The default. Stable Drupal extensions with no special warnings or behavior.
- deprecated
- Something on the way out. You can still install it, but there are warnings if it's installed on your site.
- obsolete
- Really gone. You should uninstall it. If it's already installed, you see warnings. New installations are prohibited.
For deprecated and obsolete lifecycle states, a lifecycle_link
is required which specifies a URL to the documentation to display to users. This helps orient site builders as to what do.
Example usage
name: Some core module
type: module
description: '...'
package: Core
version: VERSION
core: 9.x.x
hidden: true
lifecycle: [experimental|stable|deprecated|obsolete]
lifecycle_link: 'https://www.drupal.org/about/core/policies/core-change-policies/deprecated-and-obsolete-modules-and-themes#s-entity-reference'
New exception
\Drupal\Core\Extension\Exception\ObsoleteExtensionException
is thrown when someone tries to install an 'obsolete' extension
New constants
\Drupal\Core\Extension\ExtensionStatus
final class has constants to enumerate the valid status values.
Impacts:
Site builders, administrators, editors
Module developers
Themers
Distribution developers