The versioning of pre-releases is a little bit different than full releases. While regular releases will follow semver, pre-releases need to follow a different system. Here is my suggestion:
v0.milestone.version-test_phase.verson
This is how I suggest formatting the pre-release tags.
v
This is the basic version marker, indicating the version. It is ususally included in all releases (pre and full) but npm does not have v marker, so this may be omitted based on GitHubs versioning rules and personal preferance.
0
The 0 indicates that this is a pre-release. The first release will be v1 because it is the first full release. All pre-releases have a 0 to start with.
milestone
This is a numerical indicator of the current milestone. For example, milestone 1 just spits out data, but mileston 2 puts it into a database. Mileston 3 may integrate with a web page or desktop app. Etc.
Version
This indicates the version of the milestone. It is just a minor versioning system of milestone.
test phase
If you have ever seen -alpha or -beta.3 attached to a project version, you know what this is. Testing phases are labeled with greek letters, and have minor versioning attached to it.
Summary
Since the pre-releases are not formatted the same as full releases, there is need for standardization.
The versioning of pre-releases is a little bit different than full releases. While regular releases will follow semver, pre-releases need to follow a different system. Here is my suggestion:
This is how I suggest formatting the pre-release tags.
v
This is the basic version marker, indicating the version. It is ususally included in all releases (pre and full) but npm does not have v marker, so this may be omitted based on GitHubs versioning rules and personal preferance.
0
The 0 indicates that this is a pre-release. The first release will be
v1
because it is the first full release. All pre-releases have a 0 to start with.milestone
This is a numerical indicator of the current milestone. For example, milestone 1 just spits out data, but mileston 2 puts it into a database. Mileston 3 may integrate with a web page or desktop app. Etc.
Version
This indicates the version of the milestone. It is just a minor versioning system of milestone.
test phase
If you have ever seen
-alpha
or-beta.3
attached to a project version, you know what this is. Testing phases are labeled with greek letters, and have minor versioning attached to it.Summary
Since the pre-releases are not formatted the same as full releases, there is need for standardization.
Notes