Skip to content

Formalise release versions #481

@monkeyman192

Description

@monkeyman192

Currently the versions that are released are a bit of a mess. This is due to a number of reasons, but primarily because the naming convention that was chosen a while back was based on how we were able to decide the particular release was done, and this no longer applies as we are able to know with a very high degree of certainty that we have mapped out all the classes.

Currently we do the following:
All verisons are structured like X.YY.Z.W (where the X.YY.Z corresponds to a NMS version number and the a is the "pre-release" version of the program (ie. 3.74.0.1 corresponds to v3.74.0-pre1)
This is confusing as, once all the classes have been successfully mapped out, it no longer makes sense to call the release a "pre-release", and so the pre in the version is misleading.

I propose that we do the following instead:

  • We formalise the concept of a "pre-release" by only ever making these a "pre-release" in the strict term of github releases.
    These will be in cases where an update has just come out and not all the classes have been mapped out yet, so we know that the release is not complete.
    These "pre-release" versions will be given a tag of vX.YY.Z-preW to indicate a pre-release and will be released as such.
  • Once a release is deemed "not-pre-release" it will be tagged vX.YY.Z.W.
  • In the above situation W will continue to be incremented over pre-releases until the proper release is hit (ie. the releases may look like v3.74.0-pre1, v3.74.0.pre2, v3.74.0.3, where this last release is NOT a pre-release and is instead a full release.

I am not particularly set on the above idea and would love some feedback on it. We must keep in mind that we already have a system in place to write the version to the mbin file, so if we were to make drastic changes we'd need to create a new schema for the MBIN file header which will be a decent amount of work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionInformational discussion.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions