ACE-2269 adds support for using literals in module / AMP version numbers. This significantly changes some aspects of how versions need to be used for developing non-trivial modules. There is currently no documentation I could find that goes into details, and in fact http://docs.alfresco.com/community/concepts/dev-extensions-modules-module-properties.html explicitly states that
The version number must be made up of numeric values separated by dots. For example '2.1.56' is a valid version number, '2.3.4a' is not.
which is no longer correct.
Since the version of a module is an important criterion for handling e.g. the application / execution of configured ModuleComponent instances for a module to bootstrap or patch objects in the system, the change has significant impact on developers and must be document. Some of the implicit behaviours I would even classify as a bug but since there is no documentation (even in
ACE-2269) it is hard to judge.
One example: I have a module X under development with version 1.0-SNAPSHOT (Maven numbering scheme) that defines a module component X-A with "appliesFromVersion" as 1.0. Expectation is that during local developer testing, the X-A is being executed when the Alfresco Repository starts up - but it is not. Only when using "appliesFromVersion" defined as 1.0-SNAPSHOT, 1.SNAPSHOT or 0.9 does it start - using 1 or 1.0 will not work.
Looking at the implementation,
ACE-2269 also adds semantic evaluation and ordering of literals, e.g. "alpha", "beta", "milestone", "rc", "ga"/"final" and "sp" - while other literals are treated in lexical order as "larger than" the base version.