Experimental modules should have their own version numbers

Created on 26 January 2016, over 8 years ago
Updated 17 January 2023, over 1 year ago

Problem/Motivation

  • Drupal 8 core introduces the concept of "experimental modules" that are not completely production-ready but that are included in core for testing.
  • Since these "experimental modules" are not considered stable and are not recommended for production use, it does not make sense to hold them to the same BC and patch release restrictions as stable code.
  • Experimental modules should be able to iterate quickly in core.
  • It should be clear to site builders and developers what state the experimental modules are in.

Proposed resolution

  • Give experimental modules their own versions, separate from core, so that they can be in unstable, alpha, beta, or RC separately from core.
  • Include these version numbers in the module's info.yml file and expose them on the Extend page.
  • The versions for these modules always begin with 8.y.x in D8 while they are experimental, to make it clear that they are of lower stability than the rest of core and versioned separately from any particular patch or minor release. Examples:
    • 8.y.x-alpha
    • 8.y.x-beta
    • 8.y.x-rc

    Optionally, we could designate specific multiple releases for the given stability in the future, e.g. 8.y.x-alpha3, but for now the suffix only indicates the level of stability/allowed changes and not any particular release.

  • migrate is marked alpha.
  • migrate_drupal is marked alpha.
  • inline_form_errors is marked alpha

Alternate proposal from #64

Use the same version scheme as contrib so that ModuleHandler::parserDependency() and drupal_check_incompatibility() work as expected.
Examples:

  • 8.x-0.x-alpha1
  • 8.x-0.x-beta1
  • 8.x-0.x-rc1

This also benefits from the fact that using this version number ModuleHandler::parserDependency() identifies the module's major version as 0. This means we are inline with semver which states the a major version of 0 has no bc promise. Which is the reality we are trying to get across.

Remaining tasks

User interface changes

Experimental modules display a different version number on the Extend page.

API changes

Version numbers for experimental modules change.

Data model changes

None.

πŸ“Œ Task
Status

Closed: won't fix

Version

10.1 ✨

Component
ExtensionΒ  β†’

Last updated 3 days ago

No maintainer
Created by

πŸ‡ΊπŸ‡ΈUnited States xjm

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

No activities found.

Production build 0.69.0 2024