I would like to know what is the correct version format for custom modules in Drupal 7. I see some contributed modules come with 7.x-1.2-rc1. I don't know what is rc1. When I name my custom module with version 7.x, my module didn't work in module installation and it wasn't enabled. When I name the version 7.x-1.2, it works fine.

Is there any documentation for Drupal module version format?


Release naming conventions reports exactly the format used for the release names, and how they are formatted.

In short, the format is [Drupal version].x-[major version]-[minor version]-[flags].

  • Drupal version is the Drupal version with which the module is compatible
  • flags are extra identifiers that starts with one of the following string:

    • unstable
    • alpha
    • beta
    • rc [a.k.a. release candidate]

For a development snapshot, the format is [Drupal version].x-[major version]-x-dev.

"Major version" and "minor version" refer to the module version, where "minor version" is a progressive number.

As for the module not working if the release number doesn't follow the schema, I think the problem is another one; as far as I know, Drupal doesn't check the format, and the release name is only used from the update manager, when it is looking for the module updates, and the module is hosted on Drupal.org.

You should not be worried about the format used for the release version identifier, if not when you are developing a module that is host on Drupal.org. If you are developing a custom module that is not hosted there, you don't need to report the module version. In fact, in my test site I have a test module that doesn't report its version, and Drupal is still able to use it; the only difference is when another custom module depends from that, and it is reporting with which version of the first module is compatible. Then, Drupal will not show the module version in the module page, if the .info file doesn't report that.

| improve this answer | |

The use of a version is discouraged, the value that is required is core, and you can only set it to 7.x. See the community documentation: Writing .info files (Drupal 7.x) for more information.

For your info, "rc1" means "release candidate #1". Modules can have different version: Alpha, Beta and Release candidate.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.